当前位置: 首页 > news >正文

网站怎么搜wordpress 用户投稿

网站怎么搜,wordpress 用户投稿,深圳一元购网站设计公司,wordpress二次开发手册使用Windows 10环境,VS2019进行ICE用例开发 用例结构:客户端和服务端 关键技术:集成ICE环境,可以创建ice文件并自动生成对应的cs文件 1.环境安装 ICE Build插件安装。安装以后,就可以在项目中插入ice文件 2.代码实…

使用Windows 10环境,VS2019进行ICE用例开发

用例结构:客户端和服务端

关键技术:集成ICE环境,可以创建ice文件并自动生成对应的cs文件

1.环境安装

ICE Build插件安装。安装以后,就可以在项目中插入ice文件

2.代码实现

   创建两个控制台程序(Client和Server),基于.Net FrameWork 4.6.1平台。

    分别在Nuget中进行引用

    然后,创建ICE文件,文件内容如下

#pragma oncemodule Demo
{class People{string name;int age;};interface Hello{void sayHello(People people);People GetPeople(People people);}
}

接着分别生成项目。就会自动生成generated文件夹

                    

然后实现服务端服务

namespace Server
{public class PrinterI : Demo.HelloDisp_{public override People GetPeople(People people, Current current = null){return people;}public override void sayHello(People people, Current current = null){Console.WriteLine(people.name+"今年已经"+people.age+"岁啦!");}}
}

服务端启动代码

class Program{static void Main(string[] args){try{using (Ice.Communicator communicator = Ice.Util.initialize()){var adapter =communicator.createObjectAdapterWithEndpoints("SimplePrinterAdapter", "default -h localhost -p 10000");adapter.add(new PrinterI(), Ice.Util.stringToIdentity("SimplePrinter"));adapter.activate();Console.WriteLine("启动成功");communicator.waitForShutdown();Console.ReadLine();}}catch (Exception er){Console.Error.WriteLine(er);return;}}}

最后在客户端进行调用;

 class Program{static void Main(string[] args){try{using (Ice.Communicator communicator = Ice.Util.initialize()){var obj = communicator.stringToProxy("SimplePrinter:default -h localhost -p 10000");var printer = HelloPrxHelper.checkedCast(obj);if (printer == null){throw new ApplicationException("Invalid proxy");}People people = new People() { Name = "小王", Age = 99 , Sex = "nv"};printer.sayHello(people);var res = printer.GetPeople(people);Console.WriteLine(res.Name+"--"+ res.Address+"--"+ res.Sex);Console.ReadLine();}}catch (Exception ex){Console.Error.WriteLine(ex.Message);return;}}}

        小伙伴可能已经发现,客户端的People对象和ice文件中定义的People对象不一样,实际上,在客户端本地新建文件使用部分类定义的形式对自动生成的People对象进行了扩充实验。

    public partial class People : IPeople{public int Age { get => this.age; set => this.age = value; }public string Address { get => this.name;  }public string Name { get => this.name; set => this.name = value; }string sex;public string Sex { get => this.sex; set => this.sex = value; }}public interface IPeople{int Age { get; set; }string  Name { get; set; }string Address { get;  }}

那么扩充有什么作用?扩充People对象,可以满足客户端实现更加灵活的业务,不必要和服务端的People定义完全一致,可以正常通讯的前提是,客户端和服务端都是使用相同的ice文件生成的,并且客户端扩充的People对象需要和服务端存在相同名称的成员。(允许客户端和服务端相同成员的访问级别不一致)

允许通信的原因是?ICE无法识别客户端的这种改变?从侧面验证了Ice运行过程中,对对象的赋值是按照字段或者属性名称的,不是整体序列化?

附官方用例:Writing an Ice Application with C-Sharp - Iceicon-default.png?t=N7T8https://doc.zeroc.com/ice/3.7/hello-world-application/writing-an-ice-application-with-c-sharp

http://www.yayakq.cn/news/976906/

相关文章:

  • 可以申请做cpa广告的网站怀柔做网站
  • 做视频网站视频文件都存放在哪里建设银行网站服务功能
  • 外链屏蔽逐步解除威海seo
  • 网站后台管理教程系统没有安装wordpress
  • 宁波网站建设工作oa做软件还是网站
  • 河南网站建设优化推广企业邮箱排行榜
  • 房产这么做网站才多点击量郑州网站建设rwxwl
  • 企业网站主页模版网站搭建后如何使用
  • 威县网站建设报价微信的网站怎么做
  • 十个程序员必备的网站wordpress论坛模板下载
  • 公司建设网站哪家好织梦中英网站怎么做
  • 电商网站建设题库网站安全检测服务
  • wordpress无法修改电子邮件苏州网络推广seo服务
  • 珠海企业网站建站网站建设项目验收报告书
  • 张家界商城网站开发设计开发区建设集团网站
  • 建设银行深圳培训中心网站现货交易平台查询
  • 购物网站的详细设计湛江企业网站建设
  • 浙江汉农建设有限公司网站旅游网页设计模板网站免费
  • 股权众筹网站开发公司注册地址可以变更到外省吗
  • 长治建一个网站大概要多少钱网站后缀名
  • 贵州企业网站建设案例seo优化排名平台
  • 网页设计网站视频免费门户网站
  • 磐安住房和城乡建设部网站哪些网站的网站怎么做的
  • 极速网站开发网页制作教材素材
  • 杭州网站推广怎样做xx旅行社网站建设方案 企网站技术解决方案为申请虚拟主机
  • 网站宣传软文百度浏览器网页版
  • 广东企业网站建设多少钱宁波 商城网站建设
  • 网站验收时项目建设总结报告友情链接有哪些作用
  • 网站关键词 价格生成免费网站代理
  • 免费自己建立网站网站设置二级域名好吗