【问题标题】:Facing problems in uploading larger files using WCF使用 WCF 上传较大文件时面临问题
【发布时间】:2012-09-05 07:25:03
【问题描述】:

我在上传较大的文件时遇到问题。我正在将 WCF 服务的 basicHttpBinding 用于请求/响应,它的形成方式如下,

int MAXSIZE = Int32.MaxValue;

    BasicHttpBinding binding = new BasicHttpBinding()
    {
        CloseTimeout = new TimeSpan(0, 1, 0),
        OpenTimeout = new TimeSpan(0, 1, 0),
        ReceiveTimeout = new TimeSpan(0, 10, 0),
        SendTimeout = new TimeSpan(0, 10, 0),
        AllowCookies = false,
        BypassProxyOnLocal = false,
        HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
        MaxBufferSize = MAXSIZE,
        MaxBufferPoolSize = MAXSIZE,
        MaxReceivedMessageSize = MAXSIZE,
        MessageEncoding = WSMessageEncoding.Text,
        TextEncoding = System.Text.Encoding.UTF8,
        TransferMode = System.ServiceModel.TransferMode.Buffered,
        UseDefaultWebProxy = true,

    };

    binding.ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas()
    {
        MaxDepth = 32,
        MaxStringContentLength = MAXSIZE,
        MaxArrayLength = MAXSIZE,
        MaxBytesPerRead = MAXSIZE,
        MaxNameTableCharCount =16384,
    };

根据网上的答案,它应该可以工作,但是它会引发异常。 远程服务器返回了意外响应:(400) Bad Request。

有没有人遇到过这种情况?

【问题讨论】:

  • 你确定设置在客户端和服务器端都应用了吗?
  • 是的,两者都有。它仍然给出同样的例外。
  • 您能否启用跟踪并检查日志以了解收到错误请求的确切原因
  • 我启用了跟踪,但没有从中得到任何东西。我的意思是我无法从获得的日志语句中理解错误。 :(
  • 您需要使用 TraceViewer 来检查日志。否则发布日志内容以供我们帮助您

标签: asp.net wcf wcf-binding


【解决方案1】:

找到了答案。问题在于 WCF 服务的 web.config 文件中的服务名称。 我按原样使用名称空间路径。要解决此问题,请打开 svc 文件标记。复制服务名称并在 web.config 文件中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-02
    • 2021-01-25
    • 2020-09-12
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多