3

我配置了web.config以允许50 MB <httpRuntime maxRequestLength="51200" /> 但是当我尝试将40MB的连接添加到共享点列表时,它失败。 但它工作,如果我将maxRequestLength增加到52 MB <httpRuntime maxRequestLength="53248" />
发生了什么? Web服务调用是否会增大请求的大小?有没有一种方法可以解决这个问题,所以如果我将maxRequestLength配置为50 MB,它允许50 MB?sharepoint web service即使文件在最大文件大小范围内,也会超出最大请求长度

回答

5

通过WSS 3.0 Web Services上传的文件实际上被放入XML消息本身。为了发生这种情况,它变成了Base64 encoded。由于process的性质,这会使文件大小增加33%。您必须确保允许比您提到的web.config设置中的最大文件多33%。

+0

谢谢大家。这个论坛是最好的。我搜索了这个,你是如此的正确。 “Base 64编码确实将数据的大小增加了三分之一”http://msdn.microsoft.com/en-us/library/ms996462.aspx – danae 2009-06-12 15:41:56

1

在进行Web服务调用时运行Fiddler,然后您可以看到呼叫的内容以及它的大小。这应该有助于确定具体的web服务调用的开销。

+0

有趣。我跑提琴手,并显示以下内容: 请求计数:\t 1个 发送字节:收到\t 53524275个 字节:0 因此,这意味着它实际上是发送超过50MB,但它是交流中心,因为同一个文件可以从Sharepoint网站添加没有问题。现在我只是想知道,如果这些超过10MB是由web服务调用添加的,我怎么能解决这个问题? – danae 2009-06-12 03:07:51

2

web服务可能会使用Base64编码的文件,这势必会比实际的二进制文件较大(和SharePoint UI只是使用普通的FileUpload)