asp.net之WebScriptServiceHostFactory 与 WebServiceHostFactory
有人可以解释两者之间的区别,何时使用 WebScriptServiceHostFactory 与 WebServiceHostFactory?我知道在使用时它们会在端点上设置某些默认行为,因此我不必这样做。否则差异,是否只是 WebScriptServiceHostFactory 默认为 JSON 消息,而 WebServiceHostFactory 默认为 XML(肥皂消息)?使用 WebGet 和 WebInvoke,两者都对它们起作用,还是一个不允许?我还可以使用 UriTemplates 来构建 REST 服务吗?
请您参考如下方法:
WebScriptServiceHostFactory几乎专门用于定义将由 ASP.NET AJAX 框架使用的服务(它为 JS 客户端提供可用于调用服务的“代理”)。如果您正在进行通用 WCF web (REST) 编程,您应该坚持使用 WebServiceHostFactory .
一些区别:
- 如您所述,默认响应格式不同(WScriptSHF 中为 JSON,WSHF 中为 XML)
- WSHF 完全支持 UriTemplates,WScriptSHF 不支持
- WebGet 和 WebInvoke 都适用于两者,但在 WScriptSHF 上唯一支持的正文样式是
WrappedRequest - 对调用由 WScriptSHF 创建的端点的响应包装在一个 JSON 对象中;如果对操作的响应(在 JSON 中)是
[1,2,3],端点会将其返回为{"d":[1,2,3]}.
可能还有其他的,但基本上,指南是仅当您使用 ASP.NET AJAX 框架(使用 <asp:ScriptManager> )和 WSHF 时才使用 WScriptSHF。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



