例如,WCF服務可以充當其他WCF服務的工廠嗎? 例如爲:一個WCF服務可以返回一個嗎?
[ServiceContract(Namespace = "Foo")]
interface IThing
{
[OperationContract]
void DoSomething();
}
[ServiceContract(Namespace = "Foo")]
interface IMakeThings
{
[OperationContract]
IThing Create(string initializationData);
}
同樣可以在接口採取另一種接口作爲參數?
[ServiceContract(Namespace = "Foo")]
interface IUseThings
{
[OperationContract]
void UseThing(IThing target);
}
這是否需要調整已知類型?
所有的接口將被預先定義並且被客戶端和服務都知道。
號碼WCF是基於**消息的**系統 - 它將XML序列化**數據**(僅數據 - 無代碼或方法)從客戶端到服務器並返回。它不是*被設計成遠程或支持「遠程對象調用」或類似的東西。 –
在客戶端有代理,而不是真正的服務實例。所以這個問題根本就沒有意義。 –
我可能會遺漏一些東西,但理論上,客戶端可能會根據對「IMakeThings」服務的綁定將IMakeThings.Create()的返回結果包裝在適當的「IThing」代理中。這個問題的答案很可能是「不」,這很好,但我認爲這個問題本身是有道理的。 – WaffleSouffle