我正在将一个Web项目从Windows / Visual 2010升级到Windows8.1和Visual 2013。当我这样做时,我得到了一个迁移报告,其中显示了两个警告和15条其他消息,这些消息似乎都没有任何意义。然后,我将web项目的目标框架调整为4.5.1,并运行该项目。
这将像我预期的那样显示网页,但是与它的任何交互(例如,在下拉菜单上选择一个新项目)都会导致错误:-
HTTP错误405.0 -方法不允许 由于正在使用无效的方法(HTTP谓词),无法显示您要查找的页面。
为了找出原因,我发现所有源代码(.aspx文件、.cs文件、.config文件和.css文件)都丢失了。幸运的是,我可以从迁移过程所做的备份中恢复它们,但这仍然相当令人震惊。有人能告诉我怎么防止这种情况吗?什么项目设置可能负责?
编辑我第一次显示网页后尝试将代码复制回项目目录。在下拉菜单上选择一个新的项目就可以了,但是再次删除源代码.因此,HTTP错误似乎是页面在回发过程中实际上丢失的结果。
发布于 2015-07-27 10:27:03
程序运行时使用旧的划痕文件;启动时删除它们;它通过删除表单中的所有文件来确定这些文件:-
HttpContext.Current.User.Identity.Name + "*.*";有一次删除了所有文件。在新的Windows 8机器上,HttpContext.Current.User.Identity.Name解析为空字符串,其结果不可避免.
我尴尬得蜷缩起来,请原谅。
发布于 2015-07-27 09:34:04
由于正在使用无效的方法(HTTP谓词),无法显示您要查找的页面。
致1
出现此问题是因为客户端使用不符合HTTP规范的HTTP方法发出HTTP请求。
决议:
确保客户端发送包含有效HTTP方法的请求。为此,请执行以下步骤:单击“开始”,在“开始”搜索框中键入“记事本”,右键单击“记事本”,然后单击“以管理员身份运行”。
注如果提示您输入管理员密码或确认,请键入密码或提供确认。在“文件”菜单上,单击“打开”。在“文件名”框中,键入%windir%\system32\inetsrv\config\applicationhost.config,然后单击“打开”。在ApplicationHost.config文件中,找到标记。确保所有处理程序使用有效的HTTP方法。保存ApplicationHost.config文件。
成因2 :
出现此问题是因为客户端通过将POST方法发送到配置为由StaticFile处理程序处理的页面来发出HTTP请求。例如,客户端将POST方法发送到静态HTML页面。但是,为StaticFile处理程序配置的页面不支持POST方法。
决议:
将POST请求发送到配置为由StaticFile处理程序以外的处理程序处理的页面(例如,ASPClassic处理程序)。或者,更改由StaticFile处理程序处理的请求,使其成为GET请求而不是POST请求。
https://stackoverflow.com/questions/31649300
复制相似问题