是否可以创建一个WCF REST 4.0服务,该服务有两个具有不同行为的端点?具体来说,我正在寻找一个端点使用transferMode=Streamed
,另一个端点使用Buffered
。
我开始的时候使用WCF REST服务应用程序,这似乎是WCF和ASP MVC路由技术的混合。我可以为两个端点设置transferMode
system.serviceModel/standardEndpoints/webHttpEndpoint/standardEndpoint
但我没有任何喜欢在我的路线上申请额外的。
我不太清楚其中的WCF / MVC的存在,例如是否Global.asax
算作一个WCF端点或路由是否各个端点,并因此我不知道如何进步。
Web.config
更改或属性可以应用于服务以指定不同的行为?Global.asax
文件创建单独的asax文件吗?答案 0 :(得分:2)
每条服务路线都会创建一个新的ServiceHost。此外,REST Starter Kit现已弃用,您应该使用直接WCF REST 4.0,或者您应该在http://wcf.codeplex.com查看新的WCF Web API内容
答案 1 :(得分:1)
那样做:
<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>
当然,两个端点的地址不能重叠。