【问题标题】:Malformed Request (WCF Data Service)格式错误的请求(WCF 数据服务)
【发布时间】:2013-07-30 13:05:40
【问题描述】:

我使用 WCF 数据服务进行 CRUD 操作。我有一项远程服务和许多客户端(计算机)。一些客户端在所有编辑操作中都收到错误(上下文有实体,我们现在对其进行编辑)。返回的异常包含下一条消息:“您的浏览器发送了一个使用未知方法 (MERGE) 的请求”。所有客户端都使用带有 Framework 4.5 的 Windows 7。这可能是什么原因?

服务有一个初始化方法:

        // This method is called only once to initialize service-wide policies.
    public static void InitializeService(DataServiceConfiguration config)
    {
        // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
        // Examples:
        config.UseVerboseErrors = true;
        config.SetEntitySetAccessRule("doc", EntitySetRights.All);
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
    }

UPD1:发现当客户端应用程序在管理员帐户下运行时错误消失(即管理员可以编辑实体而不会出错)。可能是 ClickOnce 部署中的问题。

UPD2:使用代理服务器的原因。研究继续……

【问题讨论】:

    标签: c# wcf rest service wcf-data-services-client


    【解决方案1】:

    解决了 WCF 数据服务和代理服务器 (http://msdn.microsoft.com/en-us/library/dd541471.aspx) 锁定的 HTTP 请求(如 HTTP MERGE)的问题。 决定归结为使用隧道的客户端服务代理类的 C# 行:

     docService.UsePostTunneling = true;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多