Asp.net Sharepoint-多文档上传-HTTP';邮政';动词不允许

Asp.net Sharepoint-多文档上传-HTTP';邮政';动词不允许,asp.net,sharepoint,upload,http-post,httpverbs,Asp.net,Sharepoint,Upload,Http Post,Httpverbs,当尝试上载任意数量的文档(包括非常小的文件)时,似乎成功—但随后重定向到错误页面,指示以下内容: /_layouts/error.aspx?ErrorText=The%20HTTP%20verb%20POST%20used%20to%20access%20path%20%27%2F%5Fvti%5Fbin%2Fshtml%2Edll%2FSiteCollectionDocuments%2FForms%2FUpload%2Easpx%27%20is%20not%20allowed%2E 不允许使

当尝试上载任意数量的文档(包括非常小的文件)时,似乎成功—但随后重定向到错误页面,指示以下内容:

/_layouts/error.aspx?ErrorText=The%20HTTP%20verb%20POST%20used%20to%20access%20path%20%27%2F%5Fvti%5Fbin%2Fshtml%2Edll%2FSiteCollectionDocuments%2FForms%2FUpload%2Easpx%27%20is%20not%20allowed%2E
不允许使用用于访问路径“/\u vti\u bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx”的HTTP谓词POST。

你知道为什么HTTP POST会因为这个操作而被拒绝吗

更新:

Critical error has occured but the exception object has already been cleared

Current Url: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
User Login: xxxxxxx
User is Authenticated: True

Performance Counters
% Processor Time Total: 0
Processor Queue Length: 1
ASP.NET Request Queued Total: 1
.NET CLR Exceptions, # of Exceps Thrown: 55

PATH_INFO: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
PATH_TRANSLATED: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\isapi\shtml.dll
直接导航到/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx将提供:

无法显示XML页面 无法使用样式表查看XML输入。请更正错误,然后单击“刷新”按钮,或稍后重试

在文本内容中发现无效字符。处理资源“”时出错。。。 MZ

事件日志中的错误如下所示:

Critical error has occured but the exception object has already been cleared

Current Url: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
User Login: xxxxxxx
User is Authenticated: True

Performance Counters
% Processor Time Total: 0
Processor Queue Length: 1
ASP.NET Request Queued Total: 1
.NET CLR Exceptions, # of Exceps Thrown: 55

PATH_INFO: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
PATH_TRANSLATED: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\isapi\shtml.dll

支持的将文档上载到SharePoint的方法有:

  • 使用web服务()

  • 使用RPC()

  • 使用对象模型()

你能使用其中一种方法吗?如果没有,请编辑您的问题,并提供更多关于原因和一些示例代码的信息


猜测HTTP POST方法不起作用的原因可能是因为它仅供内部SharePoint使用。

解决方案原来是删除IIS中的通配符应用程序映射

通过HTTP POST
/\u vti\u bin/shtml.dll/SiteCollectionDocuments/Forms/upload.aspx
接收文档上载的url被错误地映射到
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet\u isapi.dll
,因此失败

更新:

Critical error has occured but the exception object has already been cleared

Current Url: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
User Login: xxxxxxx
User is Authenticated: True

Performance Counters
% Processor Time Total: 0
Processor Queue Length: 1
ASP.NET Request Queued Total: 1
.NET CLR Exceptions, # of Exceps Thrown: 55

PATH_INFO: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
PATH_TRANSLATED: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\isapi\shtml.dll
此解决方案倾向于破坏其他功能,例如文档删除,并且在测试期间被废弃


事实证明,有一个HTTP模块导致此url被错误处理。我为
/\u vti\u bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx添加了一个旁路,这解决了这个问题,没有任何副作用。

感谢您的回复,然而,这是Sharepoint附带的OOTB多上传功能。多次使用其中一种“官方”方法是否能满足您的需要?对不起,我不明白为什么需要使用HTTP POST,而且很奇怪;-)OOTB upload.aspx文件使用HTTP POST发送多个文件。除了一些站点配置之外,没有任何东西是定制的。嗨,克里斯。您是否曾多次上传列表作为附件?我正试图找出实现这一目标的最佳方法。谢谢。是的,现在效果很好。我们有一个HTTP模块,它拦截OOTB对文档的请求,并且不必要地干扰它们。我在这个模块中专门为/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx添加了一个旁路,EverythSign现在工作得很好。