2009-09-11 49 views
2

我正在編寫一個使用cookie存儲登錄令牌的.NET應用程序。我希望用戶能夠在同一臺服務器上登錄該應用程序的多個安裝(假設爲jacob.local/Develjacob.local/Stable),所以我想適當地爲Cookie設置Path屬性。目前我使用的是Request.ApplicationPath,但當用戶使用與我在IIS中設置的不同情況訪問網站時遇到麻煩。如何確定.NET Cookie路徑

例如,用戶訪問jacob.local/stable - cookie的路徑將爲/Stable,瀏覽器不會發回給我,因爲它無法知道IIS不區分大小寫。

我是否必須自己解析整個查詢字符串,還是已經有一個函數來確定應用程序的路徑是什麼?

回答

5

以下技巧將使用與當前請求的URL中指定的大小相匹配的套接字來抓取應用程序路徑。

Request.Url.AbsolutePath.Remove(Request.ApplicationPath.Length) 
+0

這就是我所害怕的。謝謝。 – 2009-09-14 17:18:51

+0

問題在於,在整個應用程序中形成URL時,必須小心,切勿使用Request.Application路徑。你必須使用這個技巧,不僅在發送cookie時,而且在生成任何絕對或站點相對URL時 – Andy 2012-04-09 08:49:50