public EpServer() { IDictionary prop = new Hashtable(); //prop["port"] = fSett.Port; prop["portName"] = string.Format("{0}:EVRPlay", Environment.MachineName); prop["authorizedGroup"] = GetNTAccountName(WellKnownSidType.WorldSid); prop["impersonationLevel"] = "None"; BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider(); serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full; ipcServerChannel = new IpcServerChannel(prop, serverProvider); ChannelServices.RegisterChannel(ipcServerChannel, false); // Expose an object for remote calls. RemotingConfiguration.RegisterWellKnownServiceType(typeof(EpRemote), "EpRemote.rem", System.Runtime.Remoting.WellKnownObjectMode.Singleton); ipcServerChannel.StartListening(null); FileLogger.Log("Ipc Server Listening on {0}", ipcServerChannel.GetChannelUri()); }
public static void Main(string[] args) { channel = new IpcServerChannel("TTSYukkuriChannel"); ChannelServices.RegisterChannel(channel, true); var message = new TTSMessage(); RemotingServices.Marshal(message, "message", typeof(TTSMessage)); message.OnIsReady += () => { return true; }; message.OnSpeak += message_OnSpeak; message.OnGetSasaraSettings += message_OnGetSasaraSettings; message.OnSetSasaraSettings += message_OnSetSasaraSettings; message.OnStartSasara += message_OnStartSasara; message.OnCloseSasara += message_OnCloseSasara; message.OnEnd += message_OnEnd; Console.WriteLine("Listening on " + channel.GetChannelUri()); // 終了を待つ Console.ReadLine(); }