0

我尝试实现自定义服务行为以从响应消息中获取 cookie。我在 AfterReceiveRequest 方法中设置了一个断点。它永远不会被击中。怎么了 ?我认为需要为服务注册我的服务行为。如何 ?

行为 :

public class HttpResponseMessageInspector : BehaviorExtensionElement, IDispatchMessageInspector, IServiceBehavior
{
    public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
    {

        //Here is my breakpoint

        return null;
    }

}


网页配置

<extensions>
  <behaviorExtensions>
    <add name="HttpResponseMessageInspector" type="MyNamespace.HttpResponseMessageInspector, myassembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
  </behaviorExtensions>
</extensions>
<behaviors>
  <serviceBehaviors>
    <behavior>
      <HttpResponseMessageInspector/>
    </behavior>
  </serviceBehaviors>
</behaviors>


服务注册

        RouteTable.Routes.Add(new ServiceRoute("Customers", new NinjectWebServiceHostFactory(), typeof(CustomersService)));
        RouteTable.Routes.Add(new ServiceRoute("Companies", new NinjectWebServiceHostFactory(), typeof(CompaniesService)));
4

1 回答 1

0

我已经创建了一个实现NinjectWebServiceHostFactory并覆盖了CreateServiceHost函数的类。

于 2013-03-26T13:39:59.773 回答