場景:WCF服務發現範圍
我有,我想不同的客戶端發現一些服務。執行發現工作是完美的。但是現在我出於不同的原因有不同版本的這些服務。
我的應用程序生命週期中可能會有3-4個不同的層:生產,分段,測試和開發。
我需要支持過去6個月部署的客戶端,因此我可能需要同時運行2 - 3個版本的服務。沒有不同版本的合同,但實施版本略有不同。
我可能還需要根據它們提供的數據類別來分開服務。假設我有一個服務實例提供美國數據,另一個實例提供加拿大數據,可能還有第三個實例提供澳大利亞數據。在某些情況下,該服務可能有多個類別。
因此,從客戶的角度來看,如果我僅僅根據合同要求服務,那麼當我真的只想與生產,美國版本1.1的服務交談時,我可能會得到9-15個端點。我知道該服務的存在範圍,但我無法成功創建一系列範圍,這些範圍允許我在我的環境中需要的那種靈活性。
我前面的例子我正在尋找一個非常具體的服務,但我可能也想看到一個特定合約的所有服務只是生產,無論他們是哪個國家或哪個版本。我可能還需要在混合中增加額外的「範圍」。總的來說,我可能有4-6個標準被用作「範圍」。
問題:
餘地建立這種複雜的濾波或做我需要做一些定製的正確方法?
如果範圍是正確的方法做到這一點,你可以指我一個樣本,我可以看看?
如果我需要去定製是否有一個標準的方法來擴展「範圍」行爲,以便我可以欺騙它做我想做的事情?
源代碼: