你的位置:首页 > 软件开发 > ASP.net > WCF学习之旅—WCF服务部署到IIS7.5(九)

WCF学习之旅—WCF服务部署到IIS7.5(九)

发布时间:2016-05-12 15:00:08
四、WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以依靠IIS来管理宿主进程的生命周期。在开发和使用的过程与Web Service非常相似。1) 为WCF ...

WCF学习之旅—WCF服务部署到IIS7.5(九)

四、WCF服务部署到get='_blank'>IIS7.5

      我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以依靠IIS来管理宿主进程的生命周期。在开发和使用的过程与Web Service非常相似。

1) 为WCF服务创建.svc文件

       对于ASP.NET Web Service的每个服务都具有一个.asmx文件,客户端通过访问.asmx文件实现对相应Web Service的调用。WCF服务与Web Service类似,每个WCF服务也具有一个对应的文 件,其文件扩展名为.svc。基于IIS的服务寄宿要求相应的WCF服务具有相应的.svc文件,.svc文件部署于IIS站点中,对WCF服务的调用体现在对.svc文件的访问上。

       .svc文件的内容很简单,仅仅包含一个ServiceHost指令(Directive),该指令具有一个必须的Service属性和一些可选的 属性。所以最简单的.svc仅仅具有一个包含Service属性(该属性指明了相应的WCF服务的有效类型)的ServiceHost指令。 BookService对应的.svc如下所示,我们把该.svc放在Services项目的根目录下,并将文件命名为 BookService.svc。

         <%@ ServiceHost Language="C#" Debug="true" Service="WcfServiceLib.BookService" %>

2) 为WCF创建web.config文件

<??><configuration>  <system.webServer>    <directoryBrowse enabled="true" />  </system.webServer>     <system.serviceModel>  <services>   <service name="WcfServiceLib.BookService">    <endpoint address="" binding="basicHttpBinding" contract="WcfServiceLib.IBookService">    </endpoint>   </service>  </services>  <behaviors>   <serviceBehaviors>    <behavior>     <!-- 为避免泄漏元数据信息,     请在部署前将以下值设置为 false -->     <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />     <!-- 要接收故障异常详细信息以进行调试,     请将以下值设置为 true。在部署前设置为 false     以避免泄漏异常信息 -->     <serviceDebug includeExceptionDetailInFaults="False" />    </behavior>   </serviceBehaviors>  </behaviors> </system.serviceModel>  <system.web>    <compilation defaultLanguage="c#" />  </system.web></configuration>
异常详细信息:System.TypeLoadException:未能从程序集“System.ServiceModel,Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。

如下图。

WCF学习之旅—WCF服务部署到IIS7.5(九)

 

      解决方案:

      在CMD命令窗口中执行以下指令。 aspnet_regiis.exe -i。如下图。

       WCF学习之旅—WCF服务部署到IIS7.5(九)

 

 

 

       3. 它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供。

解决方案:

   打开.svc文件,你会看到<%@ ServiceHost Language="C#" Debug="true" Service="WcfServiceLib.BookService" %> 注意红色字体要与WCF提供的类一致。


原标题:WCF学习之旅—WCF服务部署到IIS7.5(九)

关键词:IIS

IIS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。