我有一個支持大約10個合同的WCF服務,我們一直在支持一個客戶端,該客戶端具有特定於此客戶端的所有業務規則,現在我們有另一個客戶端將使用完全相同的合同(所以我們不能改變這種情況),他們將以前面調用的客戶端的方式調用服務,現在我們可以通過輸入參數之一來區分這兩個客戶端的唯一方式。基於這個輸入參數,我們必須使用稍微不同的業務邏輯 - 兩種客戶端的邏輯都是相同的50%,其餘的邏輯將不同(業務/ DAL層)。我不想在每個合同實施中使用if else語句來區分和重新路由邏輯,如果另一個客戶端進來了,是否還有一種乾淨的方式來處理這種情況。我正在使用框架3.5。就像我說過的,我無法更改新客戶端的任何合同(服務/數據合同)或當前服務調用基礎結構。謝謝WCF業務邏輯處理
0
A
回答
0
你可能會主辦兩次服務,並讓客戶連接到正確的?除此之外,我想,你必須使用某種if-else。
0
我不能說這是否適用於你,但我們已經解決了沿着這條道路有類似的問題:
- 我們添加一個頭信息,其中上下文一些邏輯被稱爲,指出消息。
- 此信息以RequestContext類結束。
- 我們委託實例合同的DI容器的實現(在我們的例子StructureMap)
- 我們已經定義的策略如何某些組件由容器提供的責任:
- 有一個某種組件的默認值。
- 屬性可以放置在專門化,這些專業化表示應該使用哪種類型的請求上下文。
- 這是通過現有的機制
- 註冊到容器中我們以陳述的服務實現
ObjectFactory.With(requestcontext).getInstance<CONTRACT>()
- 依賴現在解決的方式,所描述的方法應用於做出集裝箱的調用。也就是說,最終基於放置在標題中的請求信息來提供專業化。
這是一個如何解決這個問題的例子。
相關問題
- 1. 業務邏輯
- 2. 使用WCF加上業務邏輯層場景的異常處理
- 3. 業務邏輯exception.example
- 4. 業務邏輯類
- 5. ASP.NET業務邏輯
- 6. 服務直接推或業務邏輯來處理
- 7. AngularJS控制器應該處理業務邏輯還是表示邏輯?
- 8. 域邏輯和業務邏輯
- 9. 演示邏輯或業務邏輯?
- 10. 業務邏輯和服務
- 11. 服務器端業務邏輯和WCF RIA服務
- 12. 如何處理只能在UI中實現的業務邏輯?
- 13. 在業務邏輯中處理sql異常
- 14. Hadoop/Mapreduce無法處理任何業務邏輯嗎?
- 15. JSF:ManagedBean,處理業務邏輯的好地方?
- 16. 處理在Symfony 2.1中繼承的實體的業務邏輯
- 17. 處理拖放:視圖或業務邏輯?
- 18. 業務邏輯層處理其鄰居的適當方式?
- 19. NServicebus消息處理程序是否應該處理業務邏輯?
- 20. WCF RIA服務中的業務邏輯位置
- 21. Silverlight客戶端和業務邏輯之間的WCF Ria服務?
- 22. WCF數據服務 - 我在哪裏編寫業務邏輯
- 23. 從WCF服務應用程序配置業務邏輯層
- 24. WCF服務中的業務邏輯層公開
- 25. SQL業務邏輯通緝
- 26. EF6和業務邏輯層
- 27. 業務邏輯+ ASP.NET MVC
- 28. MVVM和業務邏輯層
- 29. 業務邏輯層設計
- 30. Netty中的業務邏輯?