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

问题描述:

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

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

一些页面只产生这个问题。其他形式工作完美。没有运行在IIS中的应用程序它的工作完美。 如果任何人可以回答plz马上发送答案。 谢谢

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

就我个人而言,我使用的是类似PathsUtil的类,在那里我为页面构建了所有路径,因此,当我移动到IIS时,仅仅纠正某些内容非常容易(例如添加虚拟目录等等)。

更新: - 为PathsUtil我使用Paths.resx在那里我已经定义了我所有的路径就像

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

等。

而且在PathsUtil我只需要从Paths.resx的价值,我建立的网址:

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

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

+0

+1 for PathsUtil。有没有自动构建所有aspx页面的路径?其硬编码为 – 2010-03-24 07:10:52

+0

。 – Nandini 2010-03-24 07:14:29

寻找在页面前的Response.Redirect()调用你会得到错误。只要确保提供给Response.Redirect()调用的表单的任何合并URL都是正确的。

编辑.. 此外,寻找如果您导航到一个形式,它是在不同的目录比当前。例如: -

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

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

在这种情况下,我认为,你最好使用〜(代字符)字符,它总是从根开始。因此,由于点的数量不正确发生的错误可以minimised.Try是这样的: -

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

更多细节的〜和RESOLVEURL here

这也可能发生如果您在JavaScript中有window.location调用,如果您将相同的URL分配给不同的URL。