2012-07-21 115 views
0

我的asp.net項目,目前由HTTP運行://本地主機:51143/Default.aspx的如何將項目的根添加到本地主機路徑

反正是有,我可以包括根到此像http:// localhost:51143/TOrders/default.aspx我想這樣做的原因是因爲在菜單上單擊事件調用的URls引用「TOrders/Reports/aaa.aspx等等生產它會參考intranet/TOrders/Reports/aaa.aspx等。

回答

0

您需要HttpRequest.ApplicationPath屬性 或HostingEnvironment.ApplicationVirtualPath財產。

也可用於構建虛擬路徑VirtualPathUtility類。

編輯:

嘗試將您的項目複製到你的Web根目錄下的子目錄下,對於如。在IIS中:

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

現在在IIS管理控制檯中,在默認Web中,創建一個新的「應用程序」。要麼升級現有的文件夾,要麼創建一個虛擬的新文件夾。

然後選擇一個虛擬路徑(TOrders)並設置物理路徑。在那裏,如果你有.NET 4,你也可以設置AppPool,如果你在IIS6.x上有2.0/3.5,你也可以選擇運行時。嘗試的最高版本第一...

進入到localhost/TOrders/

+0

請你詳細說明一下。這可以通過非編程方式完成嗎? – stackuser 2012-07-21 20:33:56

+0

謝謝。我按照你的解釋做了。但在IIS 7中,當我嘗試瀏覽localhost/TOrders/default.aspx時,它顯示Intranet網站http://mytsystem/default.aspx的default.aspx。不知道我做錯了什麼 – stackuser 2012-07-23 17:16:54

0

一種解決方案可能是攔截的Application_BeginRequest方法每個請求Global.asax中
在那裏您可以創建一條規則,從開始刪除託運商/。嘗試這樣的:

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

這可能不是最好的解決方案,但它應該足以讓你知道該怎麼做。

編輯:

既然你有web項目(不是網站),你可以設置你的項目的虛擬路徑。我認爲這是你正在尋找的。

如果使用VS2010,在解決方案資源管理器中右擊你的項目,並選擇屬性,然後網絡選項卡上,在服務器部分,改爲/TOrders/,而不是項目的虛擬路徑/這是默認值。現在你應該得到http:// localhost:51143/TOrders/default.aspx

相關問題