【发布时间】: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