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

网站备案和服务器备案为什么要做网站推广

网站备案和服务器备案,为什么要做网站推广,企业网站模板建立流程,电商网站项目经验介绍1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象 二、操作实例 1、WCF服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随… 1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象   二、操作实例   1、WCF服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务。具体的代码如下: ICalculate.cs using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Text; using System.Threading.Tasks;namespace IService {[ServiceContract]public interface ICalculate{[OperationContract]int Add(int a, int b);} } IUserInfo.cs using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; using System.Threading.Tasks;namespace IService {[ServiceContract]public interface IUserInfo{[OperationContract]User[] GetInfo(int? id);}[DataContract]public class User{[DataMember]public int ID { get; set; }[DataMember]public string Name { get; set; }[DataMember]public int Age { get; set; }[DataMember]public string Nationality { get; set; } } } 注:必须引入System.Runtime.Serialization命名空间,应为User类在被传输时必须是可序列化的,否则将无法传输 Calculate.cs using IService; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Service {public class Calculate : ICalculate{public int Add(int a, int b){return a b;}} } UserInfo.cs using IService; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Service {public class UserInfo : IUserInfo{public User[] GetInfo(int? id){ListUser Users new ListUser();Users.Add(new User { ID 1, Name 张三, Age 11, Nationality China });Users.Add(new User { ID 2, Name 李四, Age 12, Nationality English });Users.Add(new User { ID 3, Name 王五, Age 13, Nationality American });if (id ! null){return Users.Where(x x.ID id).ToArray();}else{return Users.ToArray();}}} } Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using Service; using System.ServiceModel;namespace Host {class Program{static void Main(string[] args){using (ServiceHost host new ServiceHost(typeof(Calculate))){host.Opened delegate { Console.WriteLine(服务已经启动按任意键终止); };host.Open();Console.Read();}}} } App.Config ?xml version1.0? configurationsystem.serviceModelservicesservice nameService.Calculate behaviorConfigurationmexBehaviorhostbaseAddressesadd baseAddresshttp://localhost:1234/Calculate///baseAddresses/hostendpoint address bindingwsHttpBinding contractIService.ICalculate /endpoint addressmex bindingmexHttpBinding contractIMetadataExchange//service/servicesbehaviorsserviceBehaviorsbehavior namemexBehaviorserviceMetadata httpGetEnabledtrue/serviceDebug includeExceptionDetailInFaultstrue//behavior/serviceBehaviors/behaviors/system.serviceModel /configuration ok,打开Host.exe 服务开启成功! 2、新建名为Client的客户端控制台程序,通过添加引用的方式生成WCF客户端 确保Host.exe正常开启的情况下,添加对服务终结点地址http://localhost:6666/UserInfo/的引用,设置服务命名空间为UserInfoClientNS 点击确定完成添加生成客户端代理类和配置文件代码后, 开始Client客户端控制台程序对WCF服务的调用,Program.cs代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Client.UserInfoClientNS;namespace Client {class Program{static void Main(string[] args){UserInfoClient proxy new UserInfoClient();User[] Users proxy.GetInfo(null);Console.WriteLine({0,-10}{1,-10}{2,-10}{3,-10},ID,Name,Age,Nationality);for(int i0;iUsers.Length;i){Console.WriteLine({0,-10}{1,-10}{2,-10}{3,-10},Users[i].ID.ToString(),Users[i].Name.ToString(),Users[i].Age.ToString(),Users[i].Nationality.ToString());}Console.Read();}} }   ok,第一种客户端添加引用的方式测试成功   3、新建名为Client1的客户端控制台程序,通过svcutil.exe工具生成客户端代理类的方式生成WCF客户端,在VS2012 开发人员命令提示中输入以下命令: (1)、定位到当前客户端所在的盘符 (2)、定位当前客户端所在的路径   (3)、svcutil http://localhost:8000/OneWay/?wsdl /o:OneWay.cs      这里是OneWay,你本地是什么就是什么 (4)、生成客户端代理类,生成成功之后,将文件添加到项目中 ok,生成成功! (5)、将生成的文件包括到项目中,引入System.Runtime.Serialization命名空间和System.ServiceModel命名空间 (6)、确保服务开启的情况下,开始调用,Program.cs代码如下: UserInfoClient proxy new UserInfoClient();User[] Users proxy.GetInfo(null);Console.WriteLine({0,-10}{1,-10}{2,-10}{3,-10}, ID, Name, Age, Nationality);for (int i 0; i Users.Length; i){Console.WriteLine({0,-10}{1,-10}{2,-10}{3,-10},Users[i].ID.ToString(),Users[i].Name.ToString(),Users[i].Age.ToString(),Users[i].Nationality.ToString());}Console.Read(); ok,服务调用成功,说明使用svcutil工具生成WCF客户端的方式可行。   4、通过添加对Service程序集的引用,完成对WCF服务端的调用,新建一个Client2客户端控制台程序 先添加下面三个引用 using IService;using System.ServiceModel;using System.ServiceModel.Channels; (1)、Program.cs代码如下: using System; using System.Collections.Generic; using System.Linq; using IService; using System.ServiceModel; using System.ServiceModel.Channels; using System.Text; using System.Threading.Tasks;namespace Client2 {class Program{static void Main(string[] args){EndpointAddress address new EndpointAddress(http://localhost:6666/UserInfo/);WSHttpBinding binding new WSHttpBinding();ChannelFactoryIUserInfo factory new ChannelFactoryIUserInfo(binding, address);IUserInfo channel factory.CreateChannel();User[] Users channel.GetInfo(null);Console.WriteLine({0,-10}{1,-10}{2,-10}{3,-10}, ID, Name, Age, Nationality);for (int i 0; i Users.Length; i){Console.WriteLine({0,-10}{1,-10}{2,-10}{3,-10},Users[i].ID.ToString(),Users[i].Name.ToString(),Users[i].Age.ToString(),Users[i].Nationality.ToString());}((IChannel)channel).Close();factory.Close();Console.Read();}} } ok,调用成功!   三、归纳总结 通过上面的代码判断WCF客户端调用服务存在以下特点: 1、WCF服务端可客户端通过使用托管属性、接口、方法对协定进行建模。若要连接到服务端的服务,则需要获取该服务协定的类型信息.获取协定的类型信息有两种方式: (1)、通过Svcutil工具,在客户端生成代理类的方式,来获取服务端服务的服务协定的类型信息 (2)、通过给项目添加服务引用的方式 上面两种方式都会从服务端的服务中下载元数据,并使用当前你使用的语言,将其转换成托管源代码文件中,同时还创建一个您可用于配置 WCF 客户端对象的客户端应用程序配置文件. 2、WCF客户端是表示某个WCF服务的本地对象,客户端可以通过该本地对象与远程服务进行通信。因此当你在服务端创建了一个服务端协定,并对其进行配置后,客户端就可以通过生成代理类的方式(具体生成代理类的方式,上面已经提了)和服务端的服务进行通信,WCF 运行时将方法调用转换为消息然后将这些消息发送到服务侦听回复并将这些值作为返回值或 out 参数或 ref 参数返回到 WCF 客户端对象中.(有待考证); 3、创建并配置了客户端对象后请创建一个 try/catch 块如果该对象是本地对象则以相同的方式调用操作然后关闭 WCF 客户端对象。 当客户端应用程序调用第一个操作时WCF 将自动打开基础通道并在回收对象时关闭基础通道。 或者还可以在调用其他操作之前或之后显式打开和关闭该通道。。不应该使用 using 块来调用WCF服务方法。因为C# 的“using”语句会导致调用 Dispose()。 它等效于 Close()当发生网络错误时可能会引发异常。 由于对 Dispose() 的调用是在“using”块的右大括号处隐式发生的因此导致异常的根源往往会被编写代码和阅读代码的人所忽略。 这是应用程序错误的潜在根源   转载于:https://www.cnblogs.com/GreenLeaves/p/6859012.html
http://www.yutouwan.com/news/244269/

相关文章:

  • 关于开展全县中小学校网站群建设的请示报告永春县住房和城乡建设网站
  • 用 htmi5做网站邢台专业做网站
  • 知名的定制网站建设提供商个人中心登录注册
  • 网络销售网站设置开发html网页的软件
  • 毕业设计做网站怎么答辩抄袭的网站
  • 北京网站建设华网天下科技公司网站建设项目描述
  • 湖北省节能建设网站wordpress切换主题后
  • 南宁网络公司网站建设云南信息发布平台
  • 纪检监察网站建设情况汇报网站开发的论文参考文献
  • 做网站最好用的软件网站建设价格就要用兴田德润
  • 物流系统网站建设 的网站描述设计师网站有哪些
  • 企业设计网站公司哪家好网站制作外包
  • 借贷网站建设方案个人网站备案名称填写
  • 个人网站界面设计图片基于js原生的新闻类静态网站建设
  • 阜南县城乡建设局官方网站查手表价格的网站
  • 做网站月薪西安网站制作公司有哪家
  • 网站开发需要注意的100种画册排版图解
  • 校园淘宝店网站开发网页设计初学者公司网页设计模板
  • 做网站的公司销售话术网站友情链接出售
  • 茂名网站建设优化网络营销是什么一种市场营销方式
  • 中国医院建设协会网站免费咨询聊天
  • 怎么做套板网站丽江网站建设公司
  • 化妆品商城网站建设apple 官网
  • .tel域名不可以做网站域名吗百度一下你就知道了百度一下
  • 成都网站建设价格表徐汇网站推广公司
  • 西安手机商城网站设计济南教育平台网站建设
  • 外国酷炫网站郑州公司企业网站建设
  • wordpress子目录网站高端网站制作系统
  • 网站建设佰首选金手指二六公章在线印章制作生成免费
  • 网站推广策划评估工具7frontpage官方下载