我想提供如下服务:
[ServiceContract]
interface IMyService<T>
{
[ServiceOperation]
void Foo(T item);
}
Run Code Online (Sandbox Code Playgroud)
我可以在运行时发现我的通用契约的所有参数的类型(使用一些属性装饰)并使用类似的东西:
typeof(IMyService<>).MakeGenericType(typeof(Contact))
Run Code Online (Sandbox Code Playgroud)
我可以为合同和服务实现获得有界泛型类型.从运行时的基本配置开始,我还可以将端点添加到主机.更了解我感兴趣的所有数据合约,我可以为主机添加一个DataContractResolver
挑战是托管服务.在编译时我不知道类型参数,但我可以在运行时找到它.如何扩展ServiceHost或ServiceHostBase以在其中注入服务类型:
MyService<Contact>
Run Code Online (Sandbox Code Playgroud)
什么时候需要?ServiceHost无论如何只需要在运行时...
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |