C#中使用WCF一些常见问题及解决方案
最近在学习WCF,在这过程当中我遇到了很多的问题,简单说说我遇到的问题已经可能有效的解决方案。
1.在C#中,同一个解决方案下无法引用别的项目,引用之后会有一个警告,查看属性找不到引用的路径,这种情况大部分都是由于两个项目的版本不一致所导致的。
2.在C#中,重新引用服务或者是更新服务引用的时候,如果出现无法生成解决方案的情况,可以试试右击你已经添加的服务引用文件,选择"配置服务引用",在服务引用设置对话框中,将“重新使用引用的程序集中的类型”这个勾取消,这样就能安全的重新引用服务了。
3.在C#中,如果客户端需要使用服务端的实体,则可以在添加服务引用的时候设置"选择重新使用所引用的指定程序集中的类型",添加对应的服务端的实体到客户端,而且还可以设置客户端得到的集合的类型,默认是数组,可以设置为List,成功更新服务引用之后web.config文件会生成一份多余的svc(mex)节点信息,删除即可。
4.添加服务引用时提示"自定义工具错误: 无法生成服务引用“YearService”的代码。请检查其他错误和警告信息,了解详细信息。",这种情况可能是由于添加服务引用时配置不符合,解决办法,把添加服务引用的高级里面的"重新使用所引用的程序集中的类型(R)"复选框去掉即可。
5.调用了WCF的项目运行时如果报"由于目标计算机积极拒绝,无法连接.",这种情况是由于WCF程序本身没有启动,所以要先运行WCF程序.
6.WCF程序中需要添加的一些标识:
服务端接口加标识:[ServiceKnownType(typeof(Employee))] 指定序列化或反序列化时服务要使用的已知类型.
服务端实体加标识:[KnownType(typeof(Employee))] 指定System.Runtime.Serialization.DataContractSerializer 在序列化或反序列化给定类型时应识别的类型.
7.默认无法传输 List<T>、List<自定义类> 等类型的对象:
在WCF中,在 Server-side 和 Client-side 之间,传递默认无法传输的 List<T>、List<自定义类> 等类型的对象,而泛型的 Dictionary 对象却可以,这是因为WCF以 WSDL 在网络上传输时,会以「数组 (array)」的格式呈现。这是VS的默认设置,可以在客户端"添加服务引用"时进行设置,选择"高级"在弹出的对话框中选择"集合类型"为"System.Collections.Generic.List"即可,下面的字典集合类型不用管,默认的就行,表示此 WCF Service 可在网络上传输泛型的 Dictionary 类型对象。
C#中使用WCF一些常见问题及解决方案的更多相关文章
- Android Studio使用过程中常见问题及解决方案
熟悉Android的童鞋应该对Android Studio都不陌生.Android编程有两个常用的开发环境,分别是Android Studio和Eclipse,之前使用比较多的是Eclipse,而现在 ...
- 《PDF.NE数据框架常见问题及解决方案-初》
<PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案: PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...
- SharePoint 2013 中自定义WCF服务
在使用SharePoint2013的时候,如果其他客户端 API 的组合不足,可以通过自定义 Web 服务扩展 SharePoint.默认情况下,SharePoint 2013 不仅支持创建自定义 A ...
- XHTML CSS 常见问题和解决方案
原文地址:XHTML CSS 常见问题和解决方案 作为前端开发人员,在日常的页面制作时,不可避免的会碰上这样那样的问题,我挑选了其中的一些进行总结归档,希望对大家会有所帮助: 1.如何定义高度很小的容 ...
- 个人项目中的WCF使用
今天闲着无事,给大家分享一下我的一个项目中WCF的使用.我这项目使用的是Silverlight,至于其他类型的使用方法也是一样的. 1.建立一个Silverlight带Web项目的解决方案. 2.在w ...
- 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案
点击返回自学华为IoT物流网 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案 1. 家庭中遇到的问题 2.1 华为智慧家庭概念的发展历程 2.2 华为智慧家庭的解决方案架构 智慧家庭主要 ...
- 自学华为IoT物联网_05 能源工业物联网常见问题及解决方案
点击返回自学华为IoT物流网 自学华为IoT物联网_05 能源工业物联网常见问题及解决方案 1. 1 能源工业--油田业务面临的三大挑战 故障处理不及时: 部分油田开采难道大.机械故障较多.现场发生的 ...
- 自学华为IoT物联网_03 公共事业物联网常见问题及解决方案
点击返回自学华为IoT物流网 自学华为IoT物联网_03 公共事业物联网常见问题及解决方案 本文从以下六项公共事业,看看物联网的解决方案: 停车问题 路灯管理问题 消防栓管理问题 井盖管理问题 水表管 ...
- 宿主在Windows Service中的WCF(创建,安装,调用) (host到exe,非IIS)
1. 创建WCF服务 在vs2010中创建WCF服务应用程序,会自动生成一个接口和一个实现类:(IService1和Service1) IService1接口如下: using System.Ru ...
随机推荐
- BP(back propagation)误差逆传播神经网络
[学习笔记] BP神经网络是一种按误差反向传播的神经网络,它的基本思想还是梯度下降法,中间隐含层的误差和最后一层的误差存在一定的数学关系,(可以计算出来),就像误差被反向传回来了,所以顾名思义BP.想 ...
- 基于requests模块的代理
1.什么是代理? 代理:将网络请求发送给代理服务器,通过代理服务器做中介,将请求转发给目标服务器并将响应返回,从而完成网络通信. 2.为什么使用代理? 使用爬虫抓取批量资源时,在短时间内会对服 ...
- PAT(B) 1020 月饼(Java)
题目链接:1020 月饼 (25 point(s)) 分析 将月饼(库存量,总售价,单价)封装成MoonCake类 Scanner会超时,用BufferedReader类读取数据 读取的时候用字符串数 ...
- Python开发【第三章】:编码转换
一.字符编码与转码 1.bytes和str 之前有学过关于bytes和str之间的转换,详细资料->bytes和str(第四字符串) 2.为什么要进行编码和转码 由于每个国家电脑的字符编码格式不 ...
- This is very likely to create a memory leak. Stack trace of thread错误分析
1.问题描述 启动tomcat部署项目时,报This is very likely to create a memory leak. Stack trace of thread错误. 29-May-2 ...
- (六)Redis之数据结构之Set
一.常用方法 和List类型不同的是,Set集合中不允许出现重复的元素 添加/删除元素 获取集合中的元素 集合中的差集运算 集合中的交集运算 集合中的并集元算 扩展命令 1和2 添加/删除元素和获取集 ...
- 巧用Ajax的beforeSend 提高用户体验--防止重复数据
巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQ ...
- ThinkPad T420i 上 Ubuntu 12.04 实现指纹识别登录
ThinkPad T420i 上 Ubuntu 12.04 实现指纹识别登录 # add ppa add-apt-repository ppa:fingerprint/fprint # update ...
- 2019年6月SAP发布的未来ABAP平台的发展方向
未来ABAP平台将始终是这些产品的技术平台: S/4HANA On-Premises和Cloud将基于一个统一的ABAP codeline: SAP云平台上的ABAP编程环境: 什么是SAP Clou ...
- 2.Redis 入门介绍
A)入门概述: 1.是什么: Redis:REmote Dlctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵循BSD协议,是一个高性能的(key/value) ...