例如,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