WCF 3.5: Hosting Services for WebGet

In my last post, I provided an overview of using the new WebGet attribute to map an HTTP GET operation to a specific method.  However, I didn't cover the the necessities for hosting a service that uses this functionality. 

If you intend to expose multiple endpoints that use more than one binding, it is necessary to use the traditional approach of ServiceHost.  In order for WebGet to work correctly, an endpoint that uses the new binding named WebHttpBinding is required.  As usual this can be done programmatically or via configuration.  Regardless of the approach that is used, the WebHttpBehavior must be applied to the endpoint that is using the WebHttpBinding.  This is a special endpoint behavior that enables the web programming model.

Here is the equivalent via configuration:

If you only intend to use the WebHttpBinding, there is a much easier alternative.  There is a specialized implementation of ServiceHost named WebServiceHost that does not require any configuration.  You simply specify the service type and the base uri.  It will automatically use the WebHttpBinding and WebHttpBehavior. 

 

To use this host in IIS, the following .svc file could be used:

<%@ 
   ServiceHostFactory="System.ServiceModel.Activation.WebServiceHostFactory"
   Language="C#"
   Service="ServiceApplication.WeatherService"
   CodeBehind="~/App_Code/WeatherService.cs" %>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值