我已經寫了一個公開大量方法的WCF服務,它們中的每一個基本都是數據庫查詢。然而,有多個數據庫,所以現在每個方法都有第一個參數是數據庫的名稱。.NET WCF存儲沒有持久化或乾淨實現的會話數據
在客戶端,一個會話只使用一個數據庫,所以我不想在每次調用服務時都傳遞數據庫的名稱。理想情況下,我想先將數據庫名稱發送給服務,然後將其存儲在內存中以備將來查詢。問題是我的客戶端是用傳統的ASP編寫的,因此我使用的是basicHttpBinding,因此服務器上的調用沒有持久性。
我現在的問題是,是否有另一種方法,如果不是,我將如何實現這很好,所以我沒有每個方法簽名中的數據庫名稱。
我當然可以使用類似的命令模式,併爲每次調用創建包含neccessary數據(包括使用繼承數據庫名)的對象,但這樣會導致大量的類(服務器和上在客戶端)。另一個選擇是使用一個字典,但然後我的服務器方法沒有指定它的參數,這使得難以維護。我想過使用反射,但這似乎有點矯枉過正...
有什麼建議嗎?