在VS中,这很好用:
http://x.x.x.x/Order/DeleteLineItem?id=c709d018-fd55-442c-9e0d-0826f98cf368
但是,发布后,应用程序运行时,会返回404错误。
它正在发布到IIS 7.5。该应用程序的其余部分工作正常,只是那些在其中有ID的链接失败。
但奇怪的是,在Visual Studio中,在FireFox和IIS中,它运行正常。但是在VS之外,他们都给出了相同的错误信息。
我已直接在服务器上运行它以获取任何其他错误信息,但它只是说404。
这对我没有任何意义。我还应该做些什么来调试这个?此时,应用程序没有任何错误处理404类型的错误。
错误消息说处理程序是“StaticFile”,错误代码是:0x80070002
更新
事实证明,问题是JQuery调用的URL缺少站点名称。
这是有用的:
$.ajax({
url: "/PropertySearch/Order/EditLineItem",
data: { id: dataItem.id },
dataType: 'html',
success: function (data) {
$('#content').html(data); //
}
答案 0 :(得分:1)
一个可能的原因是您要发布的环境需要SSL而您使用的是http而不是https。
另一种可能性是ASP.NET MVC未在部署环境中正确注册/配置。错误消息是否表明它正在使用StaticFile处理程序?您是否尝试过使用Phil Haack的路由调试器来深入了解正在发生的事情?
http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx/