志在指尖
用双手敲打未来

Socean.Rpc之EasyProxy

简介
这几天给Socean.RPC加上了动态代理,简称EasyProxy,特点是功能高、稳定性好、运用简洁
运用入门:
服务端:
1.界说序列化器和音讯处理器
publicclassRpcSerializer:Socean.Rpc.DynamicProxy.IRpcSerializer
{publicobjectDeserialize(stringcontent,Typetype)
{returnNewtonsoft.Json.JsonConvert.DeserializeObject(content,type);
}publicstringSerialize(objectobj)
{returnNewtonsoft.Json.JsonConvert.SerializeObject(obj);
}
}publicclassCustomMessageProcessor:Socean.Rpc.DynamicProxy.EasyProxyMessageProcessor
{publicoverridevoidInit()
{
RegisterServices(Assembly.GetExecutingAssembly(),newRpcSerializer());
}
}c#
2.界说服务
publicclassBook
{publicstringName{get;set;}publicdoublePrice{get;set;}
}
[RpcService]publicclassBookService
{publicboolRegisterForSale(Bookbook)
{
Console.WriteLine(“RegisterForSale,bookName:{0},bookPrice:{1}”,book.Name,book.Price);returntrue;
}publicvoidAddStock(stringbookName,intcount)
{
Console.WriteLine(“AddStock,bookName:{0},count:{1}”,bookName,count);
}
}
3.发动服务
varserver=newRpcServer();
server.Bind(IPAddress.Parse(“127.0.0.1″),11111);
server.Start();
客户端:
1.界说序列化器
publicclassRpcSerializer:Socean.Rpc.DynamicProxy.IRpcSerializer
{publicobjectDeserialize(stringcontent,Typetype)
{returnNewtonsoft.Json.JsonConvert.DeserializeObject(content,type);
}publicstringSerialize(objectobj)
{returnNewtonsoft.Json.JsonConvert.SerializeObject(obj);
}
}
2.界说服务接口
[RpcProxy(ServiceName=”BookService”)]publicinterfaceIBookService
{boolRegisterForSale(Bookbook);voidAddStock(stringbookName,intcount);
}publicclassBook
{publicstringName{get;set;}publicdoublePrice{get;set;}
}
3.生成代理服务
varbookServiceProxy=EasyProxyGenerator.Create(IPAddress.Parse(“127.0.0.1″),11111,newRpcSerializer();
4.履行函数
bookServiceProxy.RegisterForSale(newBook{Name=”相对论”,Price=108.88});
bookServiceProxy.AddStock(“相对论”,1000);

未经允许不得转载:IT技术网站 » Socean.Rpc之EasyProxy
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载