我們有兩個客戶端應用程序(一個Web應用程序和一個代理應用程序)訪問同一服務上的方法,但需求略有不同。我的團隊希望通過將ApplicationType參數傳遞給每個方法來控制服務方面的行爲 - 這實質上是一個包含調用客戶端應用程序名稱的枚舉 - 然後將其用作數據庫查找的關鍵字,以便將服務配置爲客戶特定的選項。切換服務層中的客戶端邏輯是錯誤的嗎?
有些事情會讓我感到不安,因爲我認爲服務不應該真的需要知道哪個客戶端調用它。我被告知這樣做比通過方法調用動態傳遞選項更容易。
客戶端應用程序告訴服務他們是誰有什麼錯誤?或者,傳遞配置密鑰與一組參數化選項之間真的沒有區別嗎?
我可以看到的一個直接問題是,如果我們將服務打開到由第三方運行的另一個客戶端,我們必須在本地維護它們的配置設置。目前我們擁有兩個客戶端應用程序,所以這不是什麼問題。
你會怎麼做?