Search code examples
c#.netwcfservicehostservicecontract

Programatically discover a ServiceHost's Service Type


G'day,

I've tried searching MSDN and here, but I don't think I can do this:

Given a reference to a ServiceHost, is it possible to discover the type of the host it is executing?

Something like

ServiceHost host = new ServiceHost(typeof(MyContractImplementation));
Type serviceType = host.MagicCallHere();
Assert.True(typeof(MyContractImplementation) == serviceType);

Does MagicCallHere exist?

Bonus marks if you can dodge reflection...


Solution

  • You can check check the Descriptions servicetype property:

    var serviceType = host.Description.ServiceType