WCF从理论到实践(4):路在何方
本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):WCF架构WCF从理论到实践(7):消息交换模式WCF从理论到实践(8):事件广播WCF从理论到实践(9):实例模式和对象生命周期WCF从理论到实践(10):异常
http://cyqdata.cn/cnblogs/article-detail-37581
WCF4.0进阶系列--第三章构建健壮的程序和服务
【前言】
捕获和处理异常是任何专业的应用程序的一个重要组成部分。在一个复杂的桌面程序上,许多场景都能产生一个异常,从程序错误、意外的事件、不完整的用户输入,到运行该程序一个或多个的硬件故障。在分布式环境中,异常的发生场景就更多了。因为网络的状态,在某些情况下,无论应用程序开发人员、还是网络管理员都无法控制网络的发挥功效或者维持其处于正常的工作状态。如果把应用程序访问第三方组件考虑在内,那么还应考
http://cyqdata.cn/cnblogs/article-detail-37489
silverlight同步访问WCF
Silverlight项目中访问WCF服务,都是通过异步线程模式调用的。在某些情况下我们的调用是需要同步进行,此时我们可以通过AutoResetEvent的线程等待特性实现Silverlight同步调用远端WCF服务。
线程通过对 AutoResetEvent 调用 WaitOne或WaitAll 方法来等待信号。如果 AutoResetEvent 为非终止状态,则线程会被阻止,并等待当前控制
http://cyqdata.cn/cnblogs/article-detail-37449
Silverlight_Rest_WCF系列之五:RestInvoker的使用
在上篇文章中我们封装了Rest请求,下面我将做一些demo给大家演示RestInvoker怎么使用。
首先是服务契约代码:
这里注意下CreateByIdAndName方法,因为有两个参数,所以bodyStyle选择wrappedRequest.也就是对Request进行Wrapped的意思。
Wrapped的效果就是Json的格式会不一致。
View Code
[ServiceContrac
http://cyqdata.cn/cnblogs/article-detail-37415
WCF4.0进阶系列--第二章 寄宿WCF服务
第二章 寄宿WCF服务
【摘要】
本章先描述WCF service的工作原理;然后阐述寄宿WCF服务的各种方式;随后通过创建WPF程序和Windows Service来寄宿WCF服务;最后讲述支持WCF内置的各种绑定以及如何对一个WCF服务实现多重绑定。
在第一章中,我们为你介绍了如何创建一个WCF服务,并将其部署到IIS上,然后通过客户端程序访问该服务。在本章中,我们将关注WCF工作的细节
http://cyqdata.cn/cnblogs/article-detail-37406
WCF服务安全控制之netTcpBinding的用户名密码验证
WCF的绑定方式比较多,常用的大体有四种: wsHttpBinding basicHttpBinding netTcpBinding wsDualHttpBinding 这四种绑定方式中,有两种支持双工通信: wsDualHttpBinding netTcpBinding 在我目前的参与的项目中,考虑到产品面临的环境基本是内网,而且对数据传输
http://cyqdata.cn/cnblogs/article-detail-37337
SILVERLIGHT访问WCF时通过WEB.CONFIG 指定服务器地址
在部署SILVERLIGHT站点时,需要能够修改WCF服务的地址,在网上搜索了多篇文章,程序改造成功。过程总结如下
1.在WEB.CONFIG中添加配置节点
<appSettings> <add key ="WCFServiceAddress" value ="http://192.168.100.107/ProspectTaskWcfService/SilverLi
http://cyqdata.cn/cnblogs/article-detail-37310
Silverlight_Rest_WCF系列之四:Rest调用者,RestInvoker.
还记得上篇文章中的PUT调用Rest服务的代码吗?不记得没关系,下面就是它的代码。
View Code
#region 使用WebRequest WebRequest webRequest =WebRequestCreato
http://cyqdata.cn/cnblogs/article-detail-37245
Wcf通讯基础框架方案(六)解决方案说明以及源代码
源代码见 http://wcfextension.codeplex.com/
注意:
1) 本来没打算这么早开源,这只是一个比较原始的实现,请勿直接在商业环境使用
2) 请注意本框架的授权条款Apache License 2.0
3) 本框架依赖的外部程序集或框架版权归原作者所有
4) 框架之后可能会增加很多功能,请关注项目主页即使获得最新信息
解压缩代码打开sln文件后可以看到这样的结构
1)
http://cyqdata.cn/cnblogs/article-detail-37196
Silverlight_Rest_WCF系列之三:PUT和DELETE
我们在上篇文章中讲过WebClient不支持PUT,DELETE.
那么WebRequest支持PUT和DELETE吗??
于是我们修改PUT代码为:
WebRequest webRequest = WebRequest.Create("http://localhost:19598/ProductService.svc/Product"); &
http://cyqdata.cn/cnblogs/article-detail-37176
WCF中出现方法出现无法匹配的异常
现在使用的WCF的传输,WCF分2层,WCF服务一层,底层执行层一层。在底层执行层中,出现SQL查询为空时,我抛出了一些异常。在WCF服务层中,也进行了处理。WCF服务中使用了spring.net的aop和Di,后来,不时出现,调用端报方法出现不匹配的情况。后来处理了一次,将spring.net去掉,此异常不在发生了,以为是好了。今天异常字啊次出现,以为还是spring使用饿缘故。一检查,spri
http://cyqdata.cn/cnblogs/article-detail-37152
Wcf运行时执行流程分析
以前写过一个MVC执行流程的分析的文章:
http://www.cnblogs.com/lovecindywang/archive/2010/12/02/1894740.html
使用一些自定义的代码埋点方式来解析MVC框架颞部的执行过程。今天看到一个老外写了一篇不错的Wcf文章,我整理了一下它的代码,为每一个方法加上了MSDN中标注的中文注释,大家可以通过这个例子来学习Wcf的扩展以及了解Wcf
http://cyqdata.cn/cnblogs/article-detail-37136
Jquery调用WCF经验分享
博客园申请开通有一段时间了,一直没写博客,真对不起博客园,郁闷费话少说,今天有时间,来总结一下最近项目中用的一些知识知,主要是Jquery调用WCF服务。本文讨论一下Jquery异步调用WCF服务的过程中需要注意的各种问题及经验分享。
我所使用的机器环境是:Windows7 VS2010 。
一、我们首先建好一个项目,在VS2010中,建立好一个Web项目,并添加一个“启用了A
http://cyqdata.cn/cnblogs/article-detail-37105
WCF的WindowsService开发参考【附源码】
首先看图:1:源码结构图 2:配置文件参考 <?xml version="1.0"?><configuration> <system.serviceModel> <services>
http://cyqdata.cn/cnblogs/article-detail-37089
WCF 套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的
最近调试WCF功能,遇到很奇怪的问题,折腾了一天,才解决了这个错误,现在分享给大家,防止大家走弯路,能省点儿时间。
原来是 netTcpBinding 时,出现报错信息
套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:00:09.9970000”。
mscorlib
http://cyqdata.cn/cnblogs/article-detail-37077
Wcf通讯基础框架方案(五)——更新通知
对于负载均衡环境,多服务器内存中缓存数据的话,需要解决的一个很重要的问题就是一旦数据库中数据有更新,怎么让缓存的数据立即更新?
如果可以容忍延迟或是差异性的话,可以考虑缓存的数据有一个过期时间。但是,最好的方式还是采用通知方式,或者说发布订阅方式。
所有的客户端会订阅客户端配置修改的消息,所有的服务端会订阅服务端配置修改的消息,配置后台在修改后复杂发布这个消息。
在这里采用redis作为发布订阅的
http://cyqdata.cn/cnblogs/article-detail-36836
WCF客户端异常处理
异常分类 WCF的客户端调用由于要使用到非托管的资源,通过网络连接传输数据,有Socket通信开发经验的朋友都知道在网络连接过程中可能出现许多问题,WCF虽然经过了良好的封装,但仍然需要我们在调用时用代码去解决。 WCF客户端调用的异常分为两种类型:预期异常和意外异常,预
http://cyqdata.cn/cnblogs/article-detail-36834
Wcf通讯基础框架方案(四)——横切日志
在第一篇文章中已经列出了几种日志的概览:
所有的日志都有一个最终基类,来看看这个类:
[DataContract(Namespace = "WcfExtension")]
[KnownType(typeof(WcfExceptionInfo))]
[KnownType(typeof(ServerExceptionInfo))]
[KnownType(typeof(Clie
http://cyqdata.cn/cnblogs/article-detail-36831
Wcf通讯基础框架方案(三)——客户端
假设定义了一个服务契约:
[ServiceContract(Namespace = "WcfExtension.Services.Interface")]
public interface ITestService
{
[OperationContract]
int Add(int x, int y);
[OperationCont
http://cyqdata.cn/cnblogs/article-detail-36817
Wcf通讯基础框架方案(二)——集中配置
从这次开始在几个方面简单阐述一下实现,集中配置是这个框架很大的一个目的,首先在数据库中会有这么一些表:
其实可以看到这些表的结构,应该是和<system.serviceModel>配置节点中的层次有对应的
1) Service表描述的是服务,主要保存服务行为以及服务的配置。在这里,ServiceConfig是框架内用到的配置,比如各种日志是否要记录等等。服务对应到服务的集群,集群公开
http://cyqdata.cn/cnblogs/article-detail-36809