如何将Project根目录添加到localhost路径

时间:2012-07-21 20:09:19

标签: asp.net

我的asp.net项目,目前从 http:// localhost:51143 / default.aspx

运行

无论如何,我可以将root包含在 http:// localhost:51143 / TOrders / default.aspx 中。我想这样做的原因是因为被调用的URls菜单点击事件参考“TOrders / Reports / aaa.aspx等等,在生产中它将引用内部网/ TOrders / Reports / aaa.aspx等。

2 个答案:

答案 0 :(得分:0)

您需要HttpRequest.ApplicationPath属性 或HostingEnvironment.ApplicationVirtualPath财产。

对于构建虚拟路径也很有用VirtualPathUtility class。

修改

尝试将项目复制到web根目录的子文件夹中,例如。在IIS中:

C:\inetpub\wwwroot\  (or what you set)
C:\inetpub\wwwroot\MyProject\

现在,在IIS Managment Console中,在默认Web中,您将创建一个新的“应用程序”。您可以升级现有文件夹,也可以在文件夹中创建虚拟新文件夹。

然后选择虚拟路径(TOrders)并设置物理路径。如果你有.NET 4,你也会设置AppPool,如果在IIS6.x上有2.0 / 3.5,你也可以选择运行时。首先尝试最高版本......

转到localhost / TOrders /

答案 1 :(得分:0)

一种解决方案可能是拦截 Global.asax Application_BeginRequest 方法中的每个请求。
在那里,您可以创建一个规则,从头开始删除 TOrders / 。尝试这样的事情:

void Application_BeginRequest(object sender, EventArgs e)
{
    if (Request.RawUrl.StartsWith("TOrders/"))
        Server.Transfer(Request.RawUrl.Substring(8));
}

这可能不是最好的解决方案,但它应该足以让你知道该怎么做。

修改

由于您拥有网站项目(不是网站),因此您可以设置项目的虚拟路径。我认为这就是你要找的东西。

如果您使用的是VS2010,请在解决方案资源管理器中右键单击您的项目并选择属性,然后在 Web 选项卡的“服务器”部分中,更改虚拟路径您的项目 / TOrders / 而非 / 这是默认值。现在你应该得到 http:// localhost:51143 / TOrders / default.aspx