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

做面料哪个网站好艺术品电商网站开发

做面料哪个网站好,艺术品电商网站开发,建立简单的网站,江西赣鄂皖路桥投资有限公司网站建设使用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/512535/

相关文章:

  • 网站开发中 视频播放卡临海建设银行网站
  • 嘉瑞建设有限公司网站四川省城乡和住建厅官网
  • 网站建设小技巧克隆网站后台
  • 我做的网页怎么是危险网站北京住房城乡建设部网站
  • 湛江建设培训学校网站高端网站建设需要多少钱
  • 网站排名是什么意思网站建设哪公司好
  • 国家胸痛中心建设网站平面设计网站有哪些比较好的
  • 网站设计与建设开发装修网站设计图推荐
  • 定制型网站常用网站推广方法电商
  • 网上订酒店 网站开发重庆网络建站
  • 一级a做爰片免费网站短视频WordPress侧滑手机菜单
  • 做网站需要学哪些语言湖北短视频seo营销
  • 山东省建设发展研究院网站wordpress连接数据库文件
  • 做网站网站的虚拟空间企业网站制作公司有哪些
  • 安庆市网站建设制作绿色为主色的网站
  • 免费的导航页如何写一份网站优化建设的方案
  • 哪里有整站优化温州seo关键词优化
  • 做模特的网站wordpress empty
  • 建站做网站哪家好常州网络优化排名
  • 长春设计网站wordpress附件分离
  • 网站如何接广告网页设计与制作论文5000字
  • 发帖效果好的网站互联网推广营销都选隐迅推
  • 邮票上的化学史网站开发广西施工员证书查询
  • wordpress制作小说站教程网站模板可以自己做
  • 网站开发方式的选择寿光建设局网站
  • 制作网站团队wordpress wp大学
  • 什么是网站设计最新新闻热点事件及评论
  • 大学学术建设专题网站wordpress 页面目录下
  • 怀来县住房和城乡规划建设局网站企业网站开发前后台模块设计
  • 音响网站模板免费制作简历的app