internal DispatchRuntime (EndpointDispatcher dispatcher, ClientRuntime callbackClientRuntime)
{
EndpointDispatcher = dispatcher;
CallbackClientRuntime = callbackClientRuntime ?? new ClientRuntime (EndpointDispatcher.ContractName, EndpointDispatcher.ContractNamespace, this);
UnhandledDispatchOperation = new DispatchOperation (
this, "*", "*", "*");
AutomaticInputSessionShutdown = true;
PrincipalPermissionMode = PrincipalPermissionMode.UseWindowsGroups; // silly default value for us.
SuppressAuditFailure = true;
ValidateMustUnderstand = true;
InputSessionShutdownHandlers = new SynchronizedCollection<IInputSessionShutdown> ();
InstanceContextInitializers = new SynchronizedCollection<IInstanceContextInitializer> ();
MessageInspectors = new SynchronizedCollection<IDispatchMessageInspector> ();
}