- 博客(13)
- 资源 (4)
- 收藏
- 关注
翻译 WCF 同步异步(http://msdn.microsoft.com/en-us/library/cc294424.aspx)
<br />1) WCF 并发管理<br />引入客户端调用在线程上调用wcf服务来自于IO完成线程池。多客户端并发调用,服务本身利用多线程响应这些调用。如果这些调用都指向同一个实例,必须提供对服务的状态线程安全的访问或者承受毁坏和错误的危险。客户端回调也面对同样的问题,因为客户端回调也是被分配到线程池中的线程执行的。除了实例的同步之外,所有运行的服务也需要对资源的同步,例如:静态变量或UI控件。总而言之,并行管理包括服务和客户端回调。<br /> <br />服务实例的并行访问由ServiceBeh
2010-06-14 00:53:00
1820
原创 会话、可信赖会话、队列与事务
<br />(1)可信赖会话<br />可信赖会话的优点:保证传输过程中消息不回丢失、重复和错位。这种保证是消息层面的,适用于任何数目节点间的通信。wcf重连掉线的连接,在重连失败时,释放会话占用的资源。通过调整消息发送频率来缓解网络拥挤<br />为了使用可信赖会话,必须选择支持可信赖会话的绑定。支持这一特性的绑定包括wsHttpbinding, wsdualhttpbinding, wsfederationbinding, netTcpBinding, NetNamedPipesBinding。在wsH
2010-06-10 22:19:00
375
原创 数据表示
<br />Messsage是wcf信道层提供的一个类,在这个类中,数据被标识成一个xml infoset。当数据准备从客户端传输给服务端时,绑定里指定的信息编码协议将决定包含客户端所提供数据的Message对象以何种方式提交给服务。<br />当wcf服务接收到传输数据时,不管客户端是怎么样的编码格式,消息编码绑定元素会重新将它组装成一个Message对象,客户端发送的数据对象就会在Message对象中以XML InfoSet的形式表示。这个Message对象传送给Wcf的调度器(dispatcher)组
2010-06-10 21:44:00
284
原创 COM调用
运行环境使用元数据曾来判断类型信息。在运行时刻使用类型信息,以便于生成“运行环境可调用包装”(runtime callable wrapper,RCW) 、当net与com交互时,rcw处理对com对象的实际激活,并且还要吃力汇集要求。rcw还完成其他工作,如管理对象标识,对象生存周期以及接口缓冲区。rcw服务于这样的目的:“告知”net应用程序他正在与net组件交互,同时又使非受控空间中的com组件“觉得”com对象是被传统的com客户端调用。rcw的创建和行为根据对com对象是早期绑定还是后期绑定而有所
2010-06-09 16:37:00
460
原创 平台启用服务
<br />net平台启用服务(platform invocation Services,也称为PInvoke)允许受控代码与从dll导出的函数和结构一起工作。<br />(1)声明导出的dll函数<br />特性被用于为类型提供设计时刻的信息。通过反射,这些信息可以再运行时刻被查询,C#也是利用特性来能够向编译器藐视将要被调用的dll函数。如下所示:<br />[DllImport(params)]<br />accessmodifier static extern retValue dllFunctio
2010-06-09 16:02:00
355
原创 .net 获取文件格式
System.Text.Encoding enc; using (System.IO.FileStream file = new System.IO.FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read)) { if (fil
2010-01-19 16:00:00
1113
转载 警语
第一:不要认为停留在心灵的舒适区域内是可以原谅的。 每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事,不愿意主动的去关心别人,不愿意去思考别人还有什么没有想到。这在学生时代是很容易被理解的,有时候这样的同学还跟“冷酷”“个性”这些字眼沾边,算作是褒义。 然而相反,在工
2010-01-18 08:39:00
911
转载 男人的责任
一个男人关心的东西 决定了他的层次· 收藏 一、拥有自信和风度 男人到了二十几岁后,就要开始学着用心去经营自己了,它体现在自己的思想与涵养上。自信是一个男人最重要的品质,自信的男人就你像一只在暴风雨中战斗的海鸥。海鸥所要说的只有一句话“让暴风雨来的再猛烈些吧”,只因为它无所畏惧。一个自信的男人,总是能够感染别人,无论这些人是朋友还是敌人。要使别人对你有信心,就必须要先对自己充满信心。自信的男人
2010-01-18 08:38:00
556
原创 开发人员应该用好的一些网站 收藏
我们在开发项目的时候,大多数模块都是逐字逐句敲打出来的,然而随着开源的蓬勃发展,涌现出了好多优秀的开源项目,这些项目不仅能加快开发应用,而且能给我们的开发带来灵感。如果开发人员能灵活应用好这些优秀的开源项目,那也是一笔丰厚的知识财富,下面是笔者整理的一些优秀的网站,相信能对开发人员有所帮助。代码搜索平台: SourceForge 一个非常优秀的有多年历史的老牌开源项目共享平
2010-01-18 08:34:00
330
原创 把一张图片当做几个图片用的方法
Bitmap source = Properties.Resources.IeToolbar; source.MakeTransparent(Color.FromArgb(192, 192, 192)); ImageList tpList = new ImageList(); tpList.ImageSize = new Size(
2010-01-17 21:06:00
484
原创 XML 序列化示例
XML 序列化可以采用从简单到复杂的多种形式。例如,可以序列化只包含公共字段和公共属性的类,如 XML 序列化简介中所示。下面的代码示例讨论各种高级方案,包括如何使用 XML 序列化生成符合特定 XML 架构 (XSD) 文档的 XML 流。序列化数据集除了序列化公共类的实例外,还可序列化 DataSet 的实例,如下面的代码示例所示。private void SerializeD
2010-01-16 09:00:00
593
转载 XML 序列化简介
序列化是将对象转换成易于传输的形式的过程。例如,可以序列化对象,并使用 HTTP 通过 Internet 在客户端和服务器之间进行传输。另一方面,反序列化在流中重新构建对象。XML 序列化只将对象的公共字段和属性值序列化为 XML 流。XML 序列化不包括类型信息。例如,如果 Library 命名空间中存在 Book 对象,则不能保证将它反序列化为同一类型的对象。注意:
2010-01-16 08:43:00
668
转载 AutoResetEvent与ManualResetEvent区别
在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线程会得到
2009-08-14 15:26:00
428
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人