有人可以解释两者之间的区别,何时使用 WebScriptServiceHostFactory 与 WebServiceHostFactory?我知道他们在使用时会在端点上设置某些默认行为,所以我不必这样做。否则差异,是否只是 WebScriptServiceHostFactory 默认为 JSON 消息,而 WebServiceHostFactory 默认为 XML(soap 消息)?使用 WebGet 和 WebInvoke,两者都可以工作,还是不允许?我也可以使用 UriTemplates 来构建 REST 服务吗?
问问题
647 次
1 回答
4
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。
于 2013-03-01T18:56:49.980 回答