是否有可能创建一个WCF REST 4.0服务,它有两个具有不同行为的端点?具体来说,我正在寻找一个端点使用transferMode=Streamed
,另一个端点使用Buffered
。
我开始使用WCF REST服务应用程序,它似乎是WCF和ASP.MVC路由技术的混合体。我可以将transferMode设置为system.serviceModel/standardEndpoints/webHttpEndpoint/standardEndpoint
中的两个端点,但是没有joy在我的路线上应用更多的端点。
我不太清楚WCF/MVC分离在哪里存在,例如,Global.asax
是作为一个WCF端点,还是路由是单个端点,因此不确定如何进行。
Web.config
更改或属性可以应用于服务以指定不同的行为?如果没有,可以使用不同的行为而不是一个Global.asax
文件创建单独的asax文件吗?如果没有,是否应该创建.svc文件以映射到我的类上,就像普通的WCF Web.config
不一样,是否必须创建第二个项目来定义不同的行为?f 215
发布于 2011-05-11 22:31:27
用这样的方式做怎么样:
<services>
<service name="YourNamespace.YourServiceClass">
<endpoint address="stream" kind="webHttpEndpoint" endpointConfiguration="webHttpStreamed" contract="YouServiceContract" />
<endpoint address="buff" kind="webHttpEndpoint" endpointConfiguration="webHttpBuffered" contract="YouServiceContract" />
</service>
</services>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="webHttpStreamed" transferMode="Streamed" />
<standardEndpoint name="webHttpBuffered" transferMode="Buffered" />
</webHttpEndpoint>
</standardEndpoints>
当然,两个端点的地址不能重叠。
发布于 2011-05-11 11:20:14
每个服务路由创建一个新的ServiceHost。另外,REST现在已经不再推荐了,要么您应该直接使用WCFREST4.0,要么您应该查看http://wcf.codeplex.com上新的Web内容
https://stackoverflow.com/questions/5962935
复制相似问题