Building on my
last post on .NET Remoting Sinks, you may notice that when you define a serverProvders block in the config file, you no longer are able to reference the WSDL from your remote object (e.g. http://localhost/tipnet/MyAppServer.rem?wsdl). The reason for this is that when there is no serverProviders block, .NET creates a few default sinks, including the sink that generates WSDL output of your object. However, when you define sinks manually, .NET expects you to explicitly list all of the sinks that you want to use. The WSDL output is generated by the
SdlChannelSink class. So to get WSDL back with your custom sinks, simply use a block like this:
<serverProviders>
<formatter ref="binary" />
<provider ref="wsdl" />
<provider type="LoggingSink.ServerSinkLoggerProvider, LoggingSink" />
</serverProviders>
The ref syntax is a shorthand way of referencing the SdlChannelSink class. You could use the full type name by specifying the strong name of the SdlChannelSink class if you wish, but this is much easier.