2012-07-09 26 views

回答

0

您可以使用服务主机工厂来访问在IIS下使用的服务主机实例。您可以在http://blogs.msdn.com/b/carlosfigueira/archive/2011/06/14/wcf-extensibility-servicehostfactory.aspx找到更多关于服务主机工厂的信息,下面的代码显示了一个工厂,它监听UnknownMessageReceived事件。

public class MyFactory : ServiceHostFactory 
{ 
    protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) 
    { 
     ServiceHost host = base.CreateServiceHost(serviceType, baseAddresses); 
     host.UnknownMessageReceived += new EventHandler<UnknownMessageReceivedEventArgs>(host_UnknownMessageReceived); 
     return host; 
    } 

    void host_UnknownMessageReceived(object sender, UnknownMessageReceivedEventArgs e) 
    { 
     // do something with the message 
    } 
}