【问题标题】:WCF WebGet ResponseFormat Vs WebOperationContext.OutgoingResponse.ContentTypeWCF WebGet ResponseFormat 与 WebOperationContext.OutgoingResponse.ContentType
【发布时间】:2010-01-07 08:00:01
【问题描述】:

使用 WebGet 属性有什么区别

[WebGet(ResponseFormat = WebMessageFormat.Xml)]

并手动设置内容类型?

WebOperationContext.Current.OutgoingResponse.ContentType = "应用程序/xml";

我有一个 Silverlight 应用程序向 WCF 发出此请求。我正在查看流量,ClientAccessPolicy.xml 文件的请求/响应在我看来完全一样。

问题是,手动设置内容类型在所有浏览器中都可以正常工作,但使用 WebGet 将导致 Silverlight 应用程序无法仅连接到 FireFox 上的 WCF 服务。它适用于所有其他浏览器。同样,在 FireFox 中手动操作也可以正常工作。

在单元测试时手动做是有问题的,因为测试时WebOperationContext.Current为null。

【问题讨论】:

    标签: wcf silverlight firefox


    【解决方案1】:

    ResponseFormat 是关于……响应的格式:XML 与 JSON。

    ContentType 是一个标题。希望它设置为与响应格式相对应的值。

    【讨论】:

    • 使用 WebMessageFormat.Xml 也会将 ContentType 设置为 application/xml。但是当它这样做时,Silverlight 就不能再访问 WCF 服务了。我想知道导致这种行为的 WebGet 的不同之处。
    • 我不知道,我不知道 SilverLight。也许尝试 WebMessageFormat.Xml 并将 ContentType 设置为“text/xml”
    猜你喜欢
    • 2011-12-17
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多