为什么这篇文章在VS中有效,但在发布时却没有?

时间:2014-01-07 20:48:08

标签: asp.net-mvc jquery

在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); // 
        } 

1 个答案:

答案 0 :(得分:1)

一个可能的原因是您要发布的环境需要SSL而您使用的是http而不是https。

另一种可能性是ASP.NET MVC未在部署环境中正确注册/配置。错误消息是否表明它正在使用StaticFile处理程序?您是否尝试过使用Phil Haack的路由调试器来深入了解正在发生的事情?

http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx/