软件开发之在C#中使用WCF

软件开发之在C#中使用WCF

最近在学习WCF,在这进程当中我遇到了很多的问题,简单说说我遇到的问题已可能有效的解决方案。

1.在C#中,同一个解决方案下没法援用别的项目,援用以后会有一个正告,查看属性找不到援用的路径,这种情况大部分都是由于两个项目的版本不一致所致使的。

2.在C#中,重新援用服务或是更新服务援用的时候,如果出现没法生成解决方案的情况,可以试试右击配置服务援用,在服务援用设置对话框中,将“重新使用援用的程序

集中的类型”这个勾取消,这样就能安全的重新援用服务了。

3.在C#中,如果客户端需要使用服务端的实体,则可以在添加服务援用的时候设置选择重新使用所援用的指定程序集中的类型,添加对应的服务端的实体到客户端,而且还可以设置客户端得到的集合的类型,默许是数组,可以设置为List,成功更新服务援用以后nfig文件会生成一份过剩的svc(mex)节点信息,删除便可。

4.添加服务援用时提示自定义工具毛病:没法生成服务援用“YearService”的代码。请检查其他毛病和正告信息,了解详细信息。,这种情况可能是由于添加服务援用时配置不符合,解决办法,把添加服务援用的高级里面的重新使用所援用的程序集中的类型(R)复选框去掉便可。

5.调用了WCF的项目运行时如果报由于目标计算机积极谢绝,没法连接.,这种情况是由于WCF程序本身没有启动,所以要先运行WCF程序.

F程序中需要添加的一些标识:

服务端接口加标识:[ServiceKnownType(typeof(Employee))]

指定序列化或反序列化时服务要使用的已知类型.

服务端实体加标识:[KnownType(typeof(Employee))]

指定taContractSerializer在序列化或反序列化给定类型时应辨认的类型.

7.默许没法传输ListT、List自定义类等类型的对象:

在WCF中,在Server-side和Client-side之间,传递默许没法传输的ListT、List自定义类等类型的对象,而泛型的Dictionary对象却可以,这是由于WCF以WSDL在络上传输时,会以「数组(array)」的格式出现。这是VS的默认设置,可以在客户端添加服务援用时进行设置,选择高级在弹出的对话框中选择集合类型为st便可,下面的字典集合类型不用管,默许的就行,表示此WCFService可在络上传输泛型的Dictionary类型对象。
































治疗白癜风中药
治白癜风成都哪家医院好



转载请注明:http://www.zjiaren.com/jbmb/641.html