環境的建議:極品ASP.Net或IIS請求URL重整
- Server 2008的
- IIS 7,集成模式
- .NET 4中
- ASP.NET Web窗體路由(使用與MVC路由相同的.dll,儘管我不確定哪個版本)
- 無Cookie會話(會話ID遍歷用戶的URL)。
我們有一個應用程序使用路由來確定用戶與哪個組織關聯。該URL將採用域/ Organization/OrganizationSubCategory的形式。用戶按照自己的自定義網址查看着陸頁。接下來,他們被引導到收集一些人口統計信息的頁面,然後他們點擊接下來進入應用程序。當他們這樣做時,用戶將被添加(如果有必要)到我們數據庫中的組織中。在初始着陸頁之後,路由不再適用 - 用戶被定向到常規的aspx頁面。
該網站正在接收大量用戶進入該應用程序;平均每天850。
問題是少數用戶(少於1%)被添加到錯誤的組織中。
我們在登錄頁面上以及他們提交人口統計頁面時記錄信息。我們記錄的一件事是Request.RawUrl。我們開始注意到與正在登錄的一個組織關聯的用戶請求了另一個組織的完整正確URL(包括子類別)。有時甚至在同一天沒有人合法地追蹤錯誤的組織網址。我們讓人們直接報告他們剛剛創建了「子類別」(使用管理應用程序),指示用戶遵循其唯一的URL,但日誌顯示該用戶的完全不同的URL(我知道這是因爲我正在記錄電子郵件地址和會話ID,所以我可以通過登錄頁面和人口統計頁面關聯相同用戶的路徑)。就好像IIS有時會創建一個新會話一樣,只需將一些先前請求的URL分配給該用戶即可。
在試圖消除某種緩存,我們有:
- 設置配置httpRuntime元素的enableKernelOutputCache屬性設置爲false
- 禁用緩存在IIS設置
- 設置配置sessionState元素的regenerateExpiredSessionId屬性爲假(即使我們沒有看到會話ID被重用)。
其他建議?
從我的理解來看,你的問題太長了,至少對我來說是無法理解的。 –