在IIS中运行asp.net应用程序时出错

时间:2010-03-24 07:00:26

标签: asp.net

我在asp.net中有一个应用程序。我在IIS中配置它。当我在IIS中运行此应用程序时出现错误;

Server "/" error:
Resource Cannot be Found
Error:404

有些页面只会产生这个问题。其他表单工作正常。没有在IIS中运行应用程序它的工作完美。 如果任何人可以回答PLZ立即发送答案。  谢谢

2 个答案:

答案 0 :(得分:2)

我认为某些网页的网址格式不正确。 检查您的应用程序如何构建路径。

就个人而言,我使用像PathsUtil这样的类,在那里我为页面构建了所有路径, 因此,当我迁移到IIS时,只需更正某些内容(例如添加虚拟目录等)非常简单。

<强>更新 - 对于PathsUtil,我使用Paths.resx,我已经定义了所有路径,如

   Name             Value
index            /Site/index.aspx
add.user         /Site/addUser.aspx

等等。

在PathsUtil中我只从Paths.resx获取值并构建url:

 string baseUrl = getBaseUrl() + (String)HttpContext.GetGlobalResourceObject("Paths", "index");

我刚搬到IIS7服务器,在那里我创建了一个虚拟目录“gramma” 你可以注意到,在每个网址前面的Paths.resx中添加“/ gramma”只是一块蛋糕:)

答案 1 :(得分:0)

在您收到错误的表单前面的页面中查找Response.Redirect()调用。只需确保提供给Response.Redirect()调用的表单的任何编码的URL都是正确的。

修改.. 另外,查找如果您要导航到与当前目录不同的目录中的表单。例如: -

Response.Redirect("../SomeForm.aspx");

将重定向到ASPX页面,只是当前级别的一级。每对点意味着一个目录级别。

在这种情况下,我认为,你最好使用〜(代字号)字符,它始终从根开始。因此,由于点数不正确而发生的错误可以最小化。尝试这样的事情: -

Response.Redirect( this.ResolveUrl("~/Myfolder/SomeForm.aspx") );

〜和ResolveUrl here的详细信息。

这也可能发生如果您在javascript中调用了window.location,如果您为其分配了错误的URL。