WCF使用配置文件部署

本文详细介绍了如何使用配置文件部署WCF服务,包括创建配置文件、添加关键节点及属性,以及通过WinForm启用服务的过程。实现了简单的WCF服务接口,并通过URL访问验证其功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wcf 有两种部署方法,一种是代码,一种是配置文件部署,今天主要记录一下配置文件部署,首先在需要部署的项目上创建配置文件,我用的winform,所以创建的是appconfig

里面最重要的添加的节点 services, 里面的service name属性需要指向执行契约的类,behaviorconfiguartion 无所谓,名字需要跟后面的behavior名字一样就行,baseaddress地址是自己填写的,可以http也可以tcp,对应的endpoint节点里的binding就要更改

如果是http开头的话,就是basichttpbinding,contract就是契约,指向的当然是契约接口。

原文地址:http://www.cnblogs.com/sixiangqimeng/p/3568651.html                       

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="winServer.myClass" behaviorConfiguration="testBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8002/test"/>
          </baseAddresses>
        </host>
        <endpoint address="" binding="basicHttpBinding" contract="ClassLibrary1.myInterface"></endpoint>
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="testBehavior">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>


这个是契约接口代码

    [ServiceContract]
    public interface myInterface
    {
        [OperationContract]
        string getServerTime();

        [OperationContract]
        DataTable getData();   
    }

这个是实现契约接口代码

 public class myClass:ClassLibrary1.myInterface
    {
        public string getServerTime()
        {
            return DateTime.Now.ToString();
        }

        public DataTable getData()
        {
            DataTable dt = new DataTable("books");
            DataColumn dc1 = new DataColumn("书号");
            DataColumn dc2 = new DataColumn("书名");
            DataColumn dc3 = new DataColumn("价格");
            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            dt.Columns.Add(dc3);
             
            DataRow dr = dt.NewRow();
            dr["书号"] = "BF1001";
            dr["书名"] = "WCF高级进阶";
            dr["价格"] = "30";
            dt.Rows.Add(dr);

            return dt;
        }

    }


用winform启用服务

 ServiceHost host = null;
        private void button1_Click(object sender, EventArgs e)
        {
            host = new ServiceHost(typeof(winServer.myClass));
            host.Open();
            label1.Text = "服务已启动!";
        }

 

启动服务后,到之前输入的地址,用ie打开http://localhost:8002/test,就会有wcf地址了,看到后你就明白了,就直接跟wcf用法一样,用的地直接添加服务引用就可以了

 

 

转载于:https://www.cnblogs.com/sixiangqimeng/p/3568651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值