static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); KeyValueConfigBase keyValue = new StringValueConfig() { Name = "a", Value = "1" }; XmlSerializer s = new XmlSerializer(typeof(KeyValueConfigBase)); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { s.Serialize(ms, keyValue); System.Diagnostics.Debug.WriteLine(System.Text.Encoding.Default.GetString(ms.ToArray())); } // Load the config from the file. RpcConfigurationConfig config = LoadConfig(@".\GrpcClient.config"); // Create the context. using (RpcConfigurationContext context = new RpcConfigurationContext(config, true)) { Application.Run(new Form1(context)); } }
/// <summary> /// Load the config from the file. /// </summary> /// <param name="filePath"></param> /// <returns></returns> private static RpcConfigurationConfig LoadConfig(string filePath) { // Specify the types included in the config. Type[] extraTypes = { typeof(ExampleInterceptorConfig) }; XmlSerializer serializer = new XmlSerializer(typeof(RpcConfigurationConfig), extraTypes); RpcConfigurationConfig config = new RpcConfigurationConfig(); using (XmlReader reader = XmlReader.Create(filePath)) { return((RpcConfigurationConfig)serializer.Deserialize(reader)); } }
/// <summary> /// /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Load the config from the file. RpcConfigurationConfig config = LoadConfig(@".\GrpcServer.config"); // Create the context. using (RpcConfigurationContext context = new RpcConfigurationContext(config, true)) { Server server = new Server(); server.Services.Add(context.Intercept(ExampleService.BindService(new ExampleServiceImpl()), "example1")); server.Ports.Add(context.GetServerPort("channel1")); server.Start(); Console.WriteLine("The server has started."); Console.WriteLine("If you press any key, this application will terminate."); Console.ReadLine(); } Console.WriteLine("The server has shutdown."); System.Threading.Thread.Sleep(1000); }