我正在製作一個.net組件,導致一個dll程序集,它將被一個asp.net站點引用,另一個項目由一個asmx webservice引用。所有代碼都是2.0版。.net(asp和webservice)中的會話信息
該組件有一些調用外部web服務的函數,它返回一個對象。這些功能之一是例如登錄(用戶名,密碼),其中爲用戶生成唯一的會話ID。結果信息和會話ID存儲在組件中的變量中。
該網站的問題是: 當用戶登錄到前端,並且我的組件被調用並檢查登錄並生成會話ID時,我希望組件中的信息在用戶瀏覽時保留網站中的另一個頁面。
使用我的組件的Web服務中的問題是: 我並不十分在意會話狀態,但我希望組件正常工作。如果每個呼叫生成一個新的會話ID,那沒關係。
兩種環境的結合導致以下問題對我來說:
- 我不能用我的組件asp.net會議()變量而不引用的System.Web,這是有點愚蠢的,在包括我的組件的Web服務項目可能無法使用
- 我不能計劃我的組件作爲一個單身,因爲那樣的話在網站上的應用程序,它的所有遊客之間共享,覆蓋會話和諸如此類的東西
- 形成陣列在我的組件中「會話信息」,並保持很難編程(wh en是否會失效?),並且可能無法在Web場環境中工作
有沒有解決這種情況的方法?或者我應該創建兩個組件實例,一個用於網站,另一個用於Web服務?
將它存儲在數據庫中? – Greg 2010-06-02 15:16:15
不幸的是,我將無法訪問組件將被使用的數據庫。 – Tominator 2010-06-02 15:31:51