好吧,所以我建立了我的WCF服務,它的功能很棒!然而,我現在開始將它實現到我們現有的軟件中,並且我立即遇到了這個問題,我是否只使用代理生成的代碼並擺脫我最初使用的dll?或者我保留兩者,並且在兩者之間做出區分非常明顯?WCF另一個最佳實踐?
我的意思是保持區別是有一個ServerUser和一個LocalUser屬性代表相同的用戶對象。但是,如果應用程序服務不可用,我的LocalUser屬性將通過應用程序初始運行的dll填充。
我這種思維模式的主要原因是,如果我刪除我的DLL,我有一個單點故障。如果由於某種原因,我的ServiceHost沒有啓動並運行,但是數據庫服務器,我希望我的用戶仍然能夠完成他們的工作。新的WCF實施所使用的功能並不依賴於員工的工作。這對WCF服務提供了更多便利。另外,通過構建服務的這種邏輯,可以在非IIS託管環境中更容易地使用服務修改。
此外,有沒有一種方法可以構建服務的邏輯,以便當我拉下客戶端的代理代碼時,只知道在ServiceHost不可用時手動訪問數據庫?如果這是一種可能性,我想大約90%的問題都會消失。
預先感謝您!
我想我需要更多的信息才能做出很好的回答,但我不認爲有兩條路徑(直接訪問數據庫並通過服務)是不錯的主意 - 只使用服務並隱藏數據庫層 – Carsten 2012-03-05 16:58:47
您可以隨時提供您創建的手動代理,可以執行任何您想要的操作。 – 2012-03-05 19:26:56