http://www.cnblogs.com/jiagoushi/archive/2013/03/15/2962351.html 1.WCF是对现有的分布式通信技术的一个整合,其中包括Com/DCom..Net Remoting.Web服务及其WSE(web服务的升级版本).MSMQ,是微软大一统的技术. 2..Net Remoting 是用于远程调用,但是不支持跨平台,也就是说通信的双方都要支持.net,其实没有实现真正意义上的面向服务. 3.web service 和WSE可以说是真正的面向…
原文:[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端 之前开发基于WinForm监控的软件,服务端基于Wcf实现,里面涉及双工模式,在客户端里面,采用心跳包机制保持与服务端链接,现在有了新需求,需要开发网页版形式,所以怎么保持与服务端链接是重要点,由于数据量比较大,所以不能采用客户端发起请求不断轮询的方式.参考各种资料后,使用SignalR,主要是支持WebSockets通信.并且Hub链接方式解决了realtime 信息交换的功能问题. 下图是MSDN关于解释:…
因项目需求,需要一个WCF服务,赶鸭子上架吧!下面直接切入正题! 首先创建WCF应用程序,具体如何创建就不赘述了,网上一大篇,我主要说说自己遇到的问题 问题一:超时问题,在最后获取数据的时候突然提示服务超时,服务已断开 解决:配置文件添加: <bindings> <wsHttpBinding> <binding name="BindConfig" closeTimeout="00:01:00" openTimeout="00:…
服务端app.config <?xml version="1.0" encoding="utf-8" ?><configuration> <system.serviceModel> <services> <service name="WCFTest.GreetService" behaviorConfiguration="GreetServiceBehavior">…
前面的章节已经讲过了WCF的代码和SVC页面的分离,这里是分离后,客户端调用代码如下: try { var myBinding = new BasicHttpBinding(); var myEndpoint = new EndpointAddress( new Uri("http://localhost:12857/UserService.svc")); var myChannelFactory = new ChannelFactory<IUserBussiness>(m…
在上一篇(WCF学习之旅—实现REST服务(二十二))文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,本文讲解一下如何创建一个支持REST的WCF服务端程序. 四.在WCF中创建REST服务 1. 在SCF.Contracts 在创建一个服务契约IBookRestService. 这里提供两个方法,分别采用GET和POST方式访问. 我们可以看到,与普通WCF服务契约不同的是,需要额外用WebGet或者WebInvoke指定REST访问的方式.另外还要指定消息包装样式和…
示例代码下载地址:WCFDemo1Day 概述 客户端向WCF服务发出请求后,服务端会实例化一个Service对象(实现了契约接口的对象)用来处理请求,实例化Service对象以及维护其生命周期的方式在WCF中共有三种不同的类型,分别是: Per-Call Per-Session Single 程序中通过设置ServiceBehavior特性来指定,如下: [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] p…
ASP.NET Core中间件(Middleware)进阶学习实现SOAP 解析. 本篇将介绍实现ASP.NET Core SOAP服务端解析,而不是ASP.NET Core整个WCF host. 因为WCF中不仅仅只是有SOAP, 它还包含很多如消息安全性,生成WSDL,双工信道,非HTTP传输等. ASP.NET Core 官方推荐大家使用RESTful Web API的解决方案提供网络服务. SOAP 即 Simple Object AccessProtocol 也就是简单对象访问协议.…
RestFul风格的WCF既然作为跨平台.跨语言.跨技术的一种方式出现,并且在ASP.NET API流行起来之前还是架构的首选技术之一,那么我们就来简要的介绍一下WCF在各个平台客户端的操作. 开发工具及版本:Microsoft Visual Studio 2013(.net 4.0),jQuery JavaScript Library v1.4.2, 服务端创建步骤: 第一步: 打开vs创建一个类库名为:ILongshi.BIZ.(为何要创建类库而不是WCF类库,是要完全从头开始手动完成所有操…
当服务端部署的WCF服务服务在被客户机调用时,如果显示: 错误,展开后,详细错误为:An error occurred when verifying security for the message 这个时候,出错的原因竟然是:客户机与服务机时间差不能多于5分钟.请修改系统时间即可解决问题. 刚好5分钟多一点点时,会报如下错误: 时间差缩短在5分钟以内时,即可正常调用.效果如下:…
WCF 项目应用连载[1] - 索引 - 轻量级的Log系统 - Lig Sample -序 第二节我们已经创建了Lig项目,并且能稳定工作了.现在我们来改进ILigAgent接口,实现WCF的双向通信. 3.1 双向通信 _________________________________________________________________________________ ILigAgent 增加订阅-发布 接口 3.1.1 关于订阅 – 发布 1) 发布-订阅设计模式又称观察者模式…
WCF很多需要认证信息,保证服务的安全,可以使用消息来实现 WCF 实现消息的方式: WCF中有两个接口: IClientMessageInspector [定义一个消息检查器对象,该对象可以添加到 System.ServiceModel.Dispatcher.ClientRuntime.MessageInspectors集合来查看或修改消息] IDispatchMessageInspector  [定义一些方法,通过这些方法,可以在服务应用程序中对入站和出站应用程序消息进行自定义检查或修改.]…
http://www.cnblogs.com/yiyisawa/archive/2008/12/16/1356191.html 问题: 假设有一个大型系统新版本使用wcf 作为服务端,生成wcf client 调用可以调用正常. 那如果当wcf 服务端出现问题或其他的原因我想再用回以前老版本的webservice或是jms server ,但客户端调用还是通过wcf client 调用.只通过更改配置来实现. 一.web service项目,添加一个普通service class .代码如下:…
通常WCF服务端异常的详细信息只有在调试环境下才暴露出来,但我目前有需求需要将一部分异常的详细信息传递到客户端,又需要保证一定的安全性. 最简单的办法当然是在服务端将异常捕获后,序列化传给客户端,但这样需要给服务段方法提供ref或out关键字支持,浪费,不漂亮,所以还是让服务器端抛出异常比较容易. <service name="HotelService.HotelService" behaviorConfiguration="ServiceExceptionBehavi…
WCF心跳判断服务端及客户端是否掉线并实现重连接 本篇文章将通过一个实例实现对WCF中针对服务端以及客户端是否掉线进行判断:若掉线时服务器或客户端又在线时将实现自动重连:将通过WCF的双工知识以及相应的心跳包来实现此功能: 首先了解一下本实例的一个分层架构图:相信了解WCF对这个分层法肯定都很了解:其中Client为客户端,Interface为契约层,Service则是实现契约的服务层: 接下来我们将对各层进行一个简单的讲解:方便大家理解实例的实现方式: 首先我们了解契约层Interface:因…
服务端 1.新建空白解决方案,然后再空白解决方案中新建:WCF服务应用程序.建完后如图: 2.删掉自动生成的IService1.cs和Service.svc并添加WCF服务文件StudentService.svc,VS会自动生成IStudentService.cs 在添加一个Student类,如图: Student.cs: /// <summary> /// DataContract数据约定,保证student类在WCF调用中被序列化 /// DataMember 在被序列化的成员变量中必须加…
服务端 : 1.新增一个Winform的服务端 2.选择以上建的项目,增加一个WCF服务 3.定义三个方法,一个不返回结果不带参数.返回结果带参数.返回结果以类的方式传递参数 4.Service1继承IService1,并实现接口. 5.引用using System.ServiceModel;命名空间,打开WCF服务.方便客户端调用 客户端 : 6.服务要先打开,复制服务端app.config的地址,在客户端添加服务引用 7.新建一个Form窗口,拖两个按钮,在按钮的事件下分别调用Wcf的两个方…
说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契约 2.要想将方法作为wcf服务方法发布给外部调用,则一定要加上    [OperationContract]契约 3.实体类作为wcf方法参数或者返回值的话,则要贴上 [DataContract] 4.只有贴上了[DataMember]的属性才能作为wcf服务器方法参数值类传递,否则第三方调用者看不到此属性 二:请求响应模式:当客户端发出请求以后,一定要等待wcf服务的方法处理完成后才…
1.服务端开发 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序,可生成一个带.svc后缀名的文件.该文件与webform中的aspx文件类似,有后置代码,这些后置代码是服务接口的实现.这种方式创建的WCF服务都承载在IIS或WAS上. (2)创建WCF服务库 WCF服务库是一个类库,如前所述包含一个服务接口和服务实现,此种方式创建的WCF服务可根据需要寄宿在w…
http://www.wxzzz.com/1860.html Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术.是Windows平台上开发分布式应用最佳的实践方式. 今天带如何一步一步实现WCF服务端与客户端的开发及基础讲解. 一.在Visual…
服务端增加WCF服务全局异常处理机制,任一WCF服务或接口方式出现异常,将统一调用WCF_ExceptionHandler.ProvideFault方法,因此不需要每个方法使用try catch写法. C# Code: /// <summary> /// WCF服务端异常处理器 /// </summary> public class WCF_ExceptionHandler : IErrorHandler { #region IErrorHandler Members /// &l…
客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法. 主要为,动态绑定,反射动态调用. public static object ExecuteMethod<T>(string pUrl,string pMethodName, params object[] pParams)   {       EndpointAddress address = new EndpointAddress(pUrl);       Binding bin…
wcf服务端 1,新建一个"windows窗口程序"名称为WCFServer2. 2.然后加入一个"WCF服务"名称为Service1. 详细步骤为:解决方式试图中,选中"WCFServer2"项目,右键,在弹出菜单中选择"加入->新建项". 3,双击主窗口,在它的Load事件中编写代码启动wcf服务:BasicHttpBinding方式启动wcf服务.此文件代码例如以下: using System.ServiceMod…
服务端不多讲解,有一处需要改的地方.具体服务端请看WCF入门学习2-控制台做为宿主 建议实际项目不要拿去用,毕竟是mono不是原生.net.或许是个坑 由于Unity的mono版本问题不能直接用net.tcp.用的http绑定方式 ==================================== //部分示例代码摘自 无废话WCF入门教程系列 using (ServiceHost host = new ServiceHost(typeof(Service1), baseAddress))…
最近一直在搞android上传图片.视频.文件,服务端使用wcf接收,本文对调试中的遇到的问题进行记录. 首先android上传一些小图片是比较容易的一天下来差不多就能调试出来,但是上传一些大的文件时就出现各种问题,包括wcf默认支持64k的文件,后来大图片可以上传了,但是传视频又有问题,上传的视频打不开,经过努力google最后问题终于解决了.作者kwstu QQ806693619 以下是调试代码:原文链接:http://www.kwstu.com/ArticleView/kwstu_2013…
出现这个原因我们应该都能猜测到,文件传出过大,超出了WCF默认范围,那么我们需要进行修改. 服务端和客户端都需要修改. 第一.客户端: <system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_ITaskService" /> </basicHttpBinding> </bindings> <clie…
长期以来在wcf客户端库 https://github.com/dotnet/wcf 里反应最强烈的就是.NET Core的服务端支持 https://github.com/dotnet/wcf/issues/2695 ,在build 2019 大会上微软明确说明在将WinForms,WPF和Entity Framework 6添加到.NET Core 3.0后,不打算再将.NET Framework中的技术添加到.NET Core中.这意味着微软不会向.NET Core添加ASP.NET We…
背景 客户端与服务端使用WCF建立连接后:1.可能长时间不对话(调用服务操作):2.客户端的网络不稳定. 为服务端与客户端两边都写“心跳检测”代码?不愿意. 解决 设置inactivityTimeout属性:设置KeepAlive值,以保持数据层连接 <reliableSession enabled="true" inactivityTimeout="00:00:30"/> 设置ReceiveTimeout 属性:服务端允许客户端登录后不做任何应用层服务…
讲解技术之前,恳请博友让我说几句废话.今天是我第一在博客园发布属于自己原创的博文(如有雷同,那是绝对不可能的事,嘿嘿).之前一直是拜读各位博友的大作,受益匪浅的我在这对博友们说声谢谢,谢谢你们的共享!所谓羊有跪乳之恩,鸦有反哺之义,人有知恩图报.在这说回报太夸了,写这博文贵在交流,有不到之处,望博友们大刀向我挥来!言归正传,这篇博文我主要是讲述利用三层架构模式开发一个WCF项目的整体流程,其中重要的是服务端与客户端是如何通信的以及为通信所做的一些配置.具体步骤见下文. 一.   在VS里面创建一…
引言 经过不断的摸索,询问/调试,终于学会了关于WCF客户端与服务端之间异常的处理机制,在此来记录自己的成果,用于记录与分享给需要的伙伴们. 首先感谢[.NET技术群]里群主[轩]的大力帮助,如有需要大家也请欢迎加入[.NET技术群](群号:199281001),一起讨论交流.NET技术(ASP.NET MVC4.MVC5/C#/WPF/WCF),但愿大家在技术上有更多的成就,废话不多说,直接开始分享. 关于WCF服务端的原生抛出异常,我就不多说了,相信大家找到这篇博文的时候,已经尝试过诸多方法…