每个WCF服务都需要有一个主机进程:Windows服务,IIS或任何其他.NET程序.此主机将创建System.ServiceModel.ServiceHost(或任何自定义System.ServiceModel.ServiceHostBase)的实例,并将管理服务配置,行为和通道.
但是,当在IIS中托管服务时,它的行为略有不同.默认情况下,我们需要创建一个扩展名为.svc的物理文件.这是一个纯粹的IIS要求.IIS中有一个处理.svc文件类型的模块.此文件只是服务类型和optionnaly服务主机工厂类型的声明.
<%@ ServiceHost Language="C#" Debug="true" Factory="System.ServiceModel.Activation.ServiceHostFactory" Service="MyFamousCalculatorService" CodeBehind="MyFamousCalculatorService.svc.cs" %>
Run Code Online (Sandbox Code Playgroud)
从WCF 4.0开始,我们可以在没有物理.svc文件的情况下在IIS中创建和部署服务.这可以使用配置部分serviceActivations中的system.serviceModel配置来完成.
<configuration>
<system.serviceModel>
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="MyFamousCalculatorService.svc" service="MyFamousCalculatorService"/>
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5085 次 |
| 最近记录: |