我想创建一个服务行为,为我的服务添加额外的服务操作。通过这种方式,我可以将行为添加到我的任何服务(现有的和未来的)中,并且我的服务都能够执行这个额外的服务操作。(例如 ping 或返回一些其他服务信息)
我不确定在这里做什么来实现我想要的,到目前为止我试图做的是实现一个试图修改服务描述的服务行为。我应该添加一个端点,然后在其上指定一个新合同吗?
public class MyOperationBehavior : IServiceBehavior
{
void IServiceBehavior.ApplyDispatchBehavior(
ServiceDescription desc, ServiceHostBase host)
{
ServiceEndpointCollection sec = svcDesc.Endpoints;
ServiceEndpoint se = new ServiceEndpoint()
{
se.Address = "DoMyOperation";
se.Binding = "basicHttpBinding";
se.Contract = MyCustomContract;
}
}
}