以IIS为宿主发布WCF Service


好处
:采用以IIS作为宿主,就不必为Service专门建立一个host程序,部署也相对容易一些。

首先准备好测试用的WCF程序,这个例子只是做简单的求和计算,代码如下:


CalculatorService.svc
(服务文件):

<% @ServiceHost Language = ”C#” Debug = " True "  Service = "  OwenZhang.WcfSamples.CalculatorService " %>


ICalculator.cs
(定义服务契约):

[ServiceContract]
public   interface  ICalculator
{
   [OperationContract]
   
int  Add( int  n,  int  m);
}


CalculatorService.cs
(执行服务契约):

public   class  CalculatorService : ICalculator
{
   
public   int  Add( int  n,  int  m)
   {
      
return  n  +  m;
   }
}


注意: 假如你新建的项目类型是WebSite的话,ICalculator.csCalculatorService.cs文件位于App_Code文件夹下面。同样CalculatorService.svc要加上CodeBehind="~/App_Code/CalculatorService.cs"。


Web.config文件中添加endpoint:

<? xml version = " 1.0 "  encoding = " utf-8 "   ?>
< configuration >
  
< system.serviceModel >
    
< services >
      
< service name = " OwenZhang.WcfSamples.CalculatorService " >
        
< endpoint address = ""  binding = " wsHttpBinding "  contract = " OwenZhang.WcfSamples.Samples.ICalculator "   />
      
</ service >
    
</ services >
  
</ system.serviceModel >
</ configuration >


然后,在IIS中新建网站或虚拟目录,这我们在系统默认网站下面建立虚拟目录“C:\inetpub\wwwroot\CalculatorService”,然后将程序编译后的文件拷贝到CalculatorService目录中,就可以通过endpoint调用该服务了。

注意:假如你使用的是IIS 7.0(Windows Vista、Windows Server 2008环境),请确认WCF Activation(Server Manager->Features-> .NET Framework 3.0 Features)中的HTTP Activation(HTTP)和Non-HTTP Activation(Message Queuing,TCP和Named Pipes)已经安装上了,否则加载相关的服务会失败。另外,假如IIS中缺少识别.svc类型文件的应用程序扩展映射的话,你需要手动加上。

转载于:https://www.cnblogs.com/owen-zhang/archive/2008/05/13/1195767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值