WCF入门-服务寄宿及配置(2)

上一篇大致说了下服务怎么创建的,接着就是寄宿跟配置文件。

其实这个寄宿,对于入门的来说,就是这个媒介之类的让这个软件能够正常的在后台运行就行了。跟java里面的那个tomcat似的。

寄宿的方法有很多种,网上介绍的也比较多,我不做介绍只上代码和个人的理解:

一、第一种寄宿(自身寄宿),就是自己创建个控制台应用程序,然后引用下服务的类库就行了,顺道说下配置文件吧,配置文件其实一个目的是为了简化代码,另一个目的是为了配置方便,代码的可扩展性更强了。这个大家都懂,配置文件可以随便的改,哈哈。

这个是吧配置文件放在代码里面的,我都觉得太复杂,以后基本上没用过。

static void Main(string[] args)
        {
            //在进行真正的开放时一般在配置文件里面进行配置添加终结点和服务行为的定义
            using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
            {
                //指定绑定和总结点的地址
                host.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(), "http://127.0.0.1:3721/calculatorservice");
                //数据的发布
                if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null)
                {
                    //创建服务行为
                    ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
                    //是否发布元数据以便使用HTTPS/GET请求进行检索
                    behavior.HttpGetEnabled = true;
                    //使用HTTPS/GET请求的元数据发布的位置
                    behavior.HttpGetUrl = new Uri("http://127.0.0.1:3721/calculatorservice/metadata");
                    //添加到发布上
                    host.Description.Behaviors.Add(behavior);
                }
                host.Opened += delegate
                {
                    Console.WriteLine("CalculatorService已经启动,按任意键终止服务!");
                };
                //通讯状态转换到已打开
                host.Open();
                Console.ReadLine();
            }

二、这个也是自身寄宿,这个不写在代码里面的,而是自己创建个配置文件。

 static void Main(string[] args)
        {
            using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
            {
                host.Opened += delegate
                {
                    Console.WriteLine("CalculatorService已经启动,按任意键终止服务!");
                };
                //通讯状态转换到已打开
                host.Open();
                Console.ReadLine();
            }
        }

简单明了,下面是服务端的配置文件,其实就是创建的一个App.config,入门就复制就行了,后面再去了解每个的意思;

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="metadataBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="http://127.0.0.1:3721/calculatorservice/metadata" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <services>
      <service  behaviorConfiguration="metadataBehavior" name="Service.CalculatorService">
        <endpoint address="http://127.0.0.1:3721/calculatorservice"
            binding="wsHttpBinding" bindingConfiguration="" contract="Service.Interface.ICalculator" />
      </service>
    </services>
  </system.serviceModel>
</configuration>

三、寄宿IIS

由于自身就是小白,再加上用的win10的电脑,寄宿IIS一直有问题,前几天才搞定。win10吧这个4.7全勾上就行了,搞不懂为什么。网上大把的教程,我就不写了,我就说说注意事项,还有我遇到的问题。

 后面就是介绍服务的启动,客户端如何配置和引用的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

90e家

有C币的小伙伴可以贡献一点,哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值