我有一個建立在Linq2Sql數據提供者上的工作WCF數據服務。目前情況看起來不錯。需要WCF數據服務中的動態連接字符串的幫助...在OnRequest()之前調用CreateDataSource()?
命中該服務的客戶端應用程序接受我在服務器上進行身份驗證的用戶和密碼。但是,在服務器端,每個客戶端的數據都存儲在單獨的客戶端特定數據庫中。所以,我需要能夠在用戶驗證/識別自己後更改數據提供者的連接字符串。
我覆蓋了數據上下文的CreateDataSource()方法(這看起來讓我能夠動態地更改連接字符串,這很好)。然而,在調試過程中,我發現CreateDataSource()在OnRequest()之前觸發()... OnRequest()是我處理用戶身份驗證的地方,所以我不知道他們是誰還是他們在CreateDataSource ()着火。
是否有另一種方法來處理動態連接字符串問題,而不需要在我的請求處理程序之前調用CreateDataSource()?或者,不太理想的是,有沒有辦法延遲或觸發服務/數據提供程序在身份驗證後再次調用CreateDataSource(),以便我可以知道用戶是誰,並構建適當的連接字符串?
謝謝!
獎金的後續問題:是叫每一個請求到來時的createDataSource()方法,不管是什麼?這似乎是從調試的方式,但我沒有一個高壓力的多用戶環境來測試它現在... – Egahn 2011-06-14 23:07:13