网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

使用配置文件构建和使用WCF服务

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13

当然,配置一个ServiceHost除了上面说的完全使用代码的方式,更好的方式是使用配置文件,把一些可能需要修改的属性跟代码分离,放到配置文件中,这样可以提供服务配置的灵活性,也更容易维护。

看看前面那个不用配置文件的WCF的例子改成使用配置文件会是怎样配置的。

1、 服务端

1.1.    准备Contract和实现Contract的服务

这部分是功能接口和功能实现部分,不需要配置,所以这部分跟前面一样。

[ServiceContract()]

 public interface IService

 {

     [OperationContract]

     string MyOperation1(string myValue);

 }

 public class Service : IService

 {

     public string MyOperation1(string myValue)

     {

         return "Hello: " + myValue;

     }

}

 

1.2.    建立ServiceHost

前面使用public ServiceHost(Type serviceType, params Uri baseAddresses)构造方法建立ServicesHost。

这里建立ServiceHost实例也必须使用代码,但是可以使用简单些的构造方法:

 

ServiceHost myServiceHost = new ServiceHost(typeof(Service))

 

只要给ServiceHost指定你要运行服务的类型,就是告诉要驻留在ServiceHost里的哪个WCF服务(实现某个或某些Contract的类)。BaseAddress部分这里不需要指定了,可以放在配置文件里。

 

编码部分就这些,剩下的部分都只要通过配置文件进行设置即可。

 

1.3.    WCF配置

WCF的配置使用.NET Framework的System.Configuration配置系统。在Visual Studio中配置一个WCF服务时,如果宿主是一般的windows应用或console应用,则配置文件为App.confing,,如果宿主是IIS应用,则配置文件为Web.config。

 

跟WCF相关的配置主要有三个元素:

<system.serviceModel>

<system.serviceModel.activation>

<system.runtime.serialization>

这三个元素都是.NET Framework配置文件的根元素<configuration>下的元素,其中<system.serviceModel>元素最为基本,WCF的基本设置集中在这个元素中。

 

看一下<system.serviceModel>元素的简单结构:

<configuration>

    <system.serviceModel>

        <!-- services 元素包含应用中驻留的所有service的配置要求 -->

        <services>

        </services>

        <!-- 定义service和Endpiont行为-->

        <behaviors>

        </behaviors>

        <bindings>

        </bindings>

        <!-- 定义客户端的配置-->

        <client>

        </client>

    </system.serviceModel>

</configuration>

 

1.4.    建立跟ServiceHost相配的service配置

前面已经在代码中建立了ServiceHost,并指定了这个ServiceHost中要驻留的服务类型。

在<services>标签下加一个<service>标签,注意,service的name属性应该是ServiceH

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号