在IIS 7.5上发布表单(使用CPSHOST.DLL)时导致HTTP 405“无效方法(HTTP动词)”错误的原因

时间:2010-10-26 19:09:10

标签: asp-classic iis-7.5

我正在将一系列经典ASP网页从Windows 2000服务器迁移到Windows 2008 R2服务器。其中一个页面使用CPSHOST.DLL(在Scripts文件夹中)将文件上传到服务器。

有问题的页面在表单上使用POST方法,但在页面运行时始终返回“Method Not Allowed”响应。我已将方法从小写更改为大写,我已配置ISAPI和CGI限制以允许cpshost.dll运行。

有问题的页面提示用户标识提供文件格式类型(可能有3种选项)和文件名。表格标题如下:

<form enctype="multipart/form-data" method="POST" action="http://dcnb/scripts/cpshost.dll?PUBLISH?http://dcnb/scripts/dcn_cnam_repost.asp?user_id=jsommer&telco_code=GRGS" id=image_upload name=image_upload >

我尝试更改follwup .asp例程,以防它抛出错误,但没有区别(即,我更改了代码以调用与repost.asp页面不同的网页,但无济于事。

详细的错误信息告诉我以下内容:

模块:StaticFileModule,通知:ExecuteRequestHandler,Handler:StaticFile和errorcode:0x800700001。

请求的网址是:

http://dcnb/scripts/cpshost.dll?PUBLISH?http://dcnb/scripts/dcn_cnam_repost.asp?user_id=jsommer&telco_code=GRGS

物理路径列为c:\ inetpub \ wwwroot \ dcn \ scripts \ cpshost.dll,这是正确的。登录方法和登录用户都是匿名的。

对此的任何帮助将不胜感激。我一直在寻找用于上传文件的纯ASP解决方案(以消除cpshost.dll的使用),但还没有找到适用于IIS 7环境的解决方案。如果有人有任何建议,我会全力以赴。

提前感谢您提供的任何帮助。我很感激!

1 个答案:

答案 0 :(得分:-1)

您可以在请求页面时尝试运行Process Monitor。请确认该进程是否可以访问cpshost.dll。如果一切看起来都不错,您可以尝试运行失败的请求跟踪,以获得有关请求失败的阶段的一些好信息。