WCF端点合约名称——如果是通用的如何分配它?
- IGenericService 驻留在名为“ABC.Server.Common”(ABC.Server.Common.dll) 的程序集中
- MyType 驻留在名为“ABC.Server.Modules.X”(ABC.Server.Modules.X.dll) 的程序集中
代码:
public class ABC.Server.Modules.XService :
ABC.Server.Common.IGenericService<ABC.Server.Module.X.MyType>
{
ABC.Server.Common.GenericResponse<ABC.Server.Module.X.MyType> DoFoo(ABC.Server.Common.GenericRequest<ABC.Server.Module.X.MyType> request)
{
//Do Stuff Here
}
}
精简代码:
public class XService :
IGenericService<MyType>
{
GenericResponse<MyType> DoFoo(GenericRequest<MyType> request)
{
//Do Stuff Here
}
}
Web.config:
我不使用 SVC 文件,而是在 Web.config 中处理该信息:
<add factory="System.ServiceModel.Activation.ServiceHostFactory"
relativeAddress="Services/X.svc"
service="ABC.Server.Modules.X.XService"/>
<service name="ABC.Server.Modules.X.XService"
behaviorConfiguration="StandardBehavior">
<endpoint bindingConfiguration="StandardBinding"
binding="basicHttpBinding"
contract="?" />
</service>
我应该在合约名称中放入什么才能使其实际工作?
- IGenericService resides in the Assembly Named: "ABC.Server.Common" (ABC.Server.Common.dll)
- MyType resides in the Assembly Named: "ABC.Server.Modules.X" (ABC.Server.Modules.X.dll)
CODE:
public class ABC.Server.Modules.XService :
ABC.Server.Common.IGenericService<ABC.Server.Module.X.MyType>
{
ABC.Server.Common.GenericResponse<ABC.Server.Module.X.MyType> DoFoo(ABC.Server.Common.GenericRequest<ABC.Server.Module.X.MyType> request)
{
//Do Stuff Here
}
}
Condensed Code:
public class XService :
IGenericService<MyType>
{
GenericResponse<MyType> DoFoo(GenericRequest<MyType> request)
{
//Do Stuff Here
}
}
Web.config:
I don't use SVC files, instead I have that information taken care of in the Web.config:
<add factory="System.ServiceModel.Activation.ServiceHostFactory"
relativeAddress="Services/X.svc"
service="ABC.Server.Modules.X.XService"/>
<service name="ABC.Server.Modules.X.XService"
behaviorConfiguration="StandardBehavior">
<endpoint bindingConfiguration="StandardBinding"
binding="basicHttpBinding"
contract="?" />
</service>
What do I put in the contract name to get it to actually work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般来说,您可以使用以下代码片段了解 WCF 期望您为 ContractName 添加什么内容:
In general you can learn what WCF is expecting you to put for the ContractName with the following code snippet: