我已經創建了幾個合同:使用多個合約,但單個代理
[ServiceContract]
public interface IInterface1
{
[OperationContract]
void Method1();
}
和
[ServiceContract]
public interface IInterface2
{
[OperationContract]
void Method2();
}
類創建Implementation.cs它繼承他們兩人,並實現其接口。此外,我創建了幾個端點,每一份合同,所以不同的操作不同協議的工作:
<service name="Implementation">
<endpoint binding="netNamedPipeBinding" contract="IInterface1" />
<endpoint binding="netTcpBinding" contract="IInterface2" />
我想要的客戶,誰就會發現我的服務,只使用一個代理,而不是兩個。他們有可能以某種方式導出單個代理,這會暴露兩個合同嗎?
你怎麼知道這不會發生已?你測試過了嗎? –
有兩個合同的單一代理?我不認爲這是可能的 - 記住ABC(地址,綁定,合同)。 – Tim
是的,我測試了這個,但它生成2個獨立的代理。合約本身非常相似(但使用不同的協議),因此對於擁有單一代理的用戶來說,由於他們不必爲了使用而不必劃傷頭像 –