解决WCF调用多次之后没有响应的问题 转
摘要:解决WCF调用多次之后没有响应的问题 我最近遇到了一个缠扰不清的问题与WCF。 在RC1突然优良运作的应用开始断断续续地无法在发行修造.NET 3.0。 最复杂的是错误未返回,没有提供什么的调试信息。 客户调用到服务器未曾返回,但垂悬了,并且服务器没有提供故障信息。好象消息进入死区,。在与WCF团队一些咨询以后,它被确定改变对缺省serviceThrottling的行为在修造的祸根。 缺省是16 MaxConcurrentCalls和10 MaxConcurrentSessions, 如此, 客户调用时真实地进入死区,并且服务器没有能提供任何信息,因为它没有能甚而处理他们。 在这种情况下,客.
阅读全文
posted @
2012-04-30 18:40
武胜-阿伟
阅读(962)
推荐(0) 编辑
JsonSerializerHelper other
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;using Newtonsoft.Json;namespace Serializable{ public static class JsonSerializerHelper { public static TEntity JsonToEntity<TEntity>(string jsonStr) { using (StringReader sw = new StringReader(json
阅读全文
posted @
2012-04-30 18:33
武胜-阿伟
阅读(315)
推荐(0) 编辑
JsonSerializerHelper
摘要:publicstaticclassJsonSerializerHelper { ///<summary>///向String对象添加一个扩展方法 ///</summary>///<typeparamname="T">期望的类型</typeparam>///<paramname="json">Json字符数据</param>///<returns>预期的对象图</returns>publicstaticTJsonDeserialize<T>(this
阅读全文
posted @
2012-04-30 18:27
武胜-阿伟
阅读(549)
推荐(0) 编辑
InactivityTimeout ReceiveTimeout
摘要:InactivityTimeout 属性的值。通道上的活动定义为接收应用程序或基础结构消息。 非活动超时属性会控制保持非活动会话存在的最长时间。 如果超过 InactivityTimeout 指定的时间间隔后仍没有活动,则基础结构会中止会话,且通道会出错。 可靠会话会遭到单方面撤销。如果发送应用程序没有要发送的消息,则可靠会话通常不会因处于非活动状态而出错,“保持活动状态”机制会让会话无限期地处于活动状态。 请注意,如果未发送或接收任何应用程序消息,则调度程序可以单独中止可靠会话。 因此,如果网络状况为未收到任何类型的消息或发送方失败,则非活动超时通常会过期。设置此超时可防止服务器在客户端关.
阅读全文
posted @
2012-04-30 17:44
武胜-阿伟
阅读(1737)
推荐(0) 编辑
WCF 消息交换模式 转
摘要:WCF定义了哪几种消息交换模式? WCF定义了三种消息交换方式 ,分别为: One-Way Calls Request/Reply Duplex One-Way Calls 在几种消息交换模式中,one-way calls是最没良心的,对于客户端,one-way calls就如肉包子打狗,有去无回。下面的图示给出这种交换模型的特征: 在这种交换模式中,存在着如下的特征 没有返回值,返回类型只能为void 不能包含ref或者out类型的参数 只有客户端发起请求,服务端并不会对请求进行回复。 通过设置OperationContract的IsOneWay=True可以将满足要求的方法设置为这种消息交
阅读全文
posted @
2012-04-18 09:29
武胜-阿伟
阅读(393)
推荐(0) 编辑
WCF中如何修改MaxItemsInObjectGraph的限制
摘要:在WCF/WebService中,如果返回值过大,比如Array,List,DataSet等达到一定数量级的话,可能引发下面的异常1. 受信Message Quota Size超过65536 (System.ServiceModel.CommunicationException)解决方法:修改客户端配置文件app.config 的 maxReceivedMessageSize,maxBufferSize 两个属性。但是,数量级继续增大,还会遇到新的问题:2. MaxItemsInObjectGraph Quta Size超过65536(InnerException:System.Runtime
阅读全文
posted @
2012-04-18 09:28
武胜-阿伟
阅读(2083)
推荐(0) 编辑
wcf KnownTypeAttribute
摘要:KnownTypeAttribute与ServiceKnownTypeAttribute对于已知类型,可以通过两个特殊的自定义特性进行设置:KnownTypeAttribute和 ServiceKnownTypeAttribute。KnownTypeAttribute应用于数据契约中,用于设置继承与该数据契约类型的子数据契 约类型,或者引用的其他潜在的类型。ServiceKnownTypeAttribute既可以应用于服务契约的接口和方法上,也可以应用在服务实现的类 和方法上。应用的目标元素决定了定义的已知类型的作用范围。下面的代码中,在基类OrderBase指定了子类的类型Order。 1:
阅读全文
posted @
2012-04-18 09:26
武胜-阿伟
阅读(1196)
推荐(0) 编辑
WCF 请求-应答 转
摘要:WCF除了支持传统的“请求-应答”的调用模式之外还支持“单向操作”和“回调操作”两种调用模式,还可以使用流在客户端和服务器端之间传递大对象。 一、“请求-应答”模式(Request-Reply Operations): “请求-应答”模式是默认的操作模式,在此之前我们所做的例子都采用的是“请求-应答”模式进行调用的。 其调用过程是:客户端发送请求,阻塞客户端进程,服务端返回操作结果,客户端收到返回结果后继续向下执行,如果服务器没有在预期的时间内响应请求,客户端就会产生TimeoutException异常信息。 除了NetPeerTcpBinding和NetMsmqBinding两种绑定方式之外
阅读全文
posted @
2012-04-18 09:24
武胜-阿伟
阅读(1477)
推荐(0) 编辑
WCF 转
摘要:WCF除了支持传统的“请求-应答”的调用模式之外还支持“单向操作”和“回调操作”两种调用模式,还可以使用流在客户端和服务器端之间传递大对象。 一、“请求-应答”模式(Request-Reply Operations): “请求-应答”模式是默认的操作模式,在此之前我们所做的例子都采用的是“请求-应答”模式进行调用的。 其调用过程是:客户端发送请求,阻塞客户端进程,服务端返回操作结果,客户端收到返回结果后继续向下执行,如果服务器没有在预期的时间内响应请求,客户端就会产生TimeoutException异常信息。 除了NetPeerTcpBinding和NetMsmqBinding两种绑定方式之外
阅读全文
posted @
2012-04-18 09:23
武胜-阿伟
阅读(2638)
推荐(1) 编辑
C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转
摘要:节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing)。 内存映射文件对于托管世界的开发人员来说似乎很陌生,但它确实已经是很远古的技术了,而且在操作系统中地位相当。实际上,任何想要共享数据的通信模型都会在幕后使用它。 内存映射文件究竟是个什么?内存映射文件允许你保留一块地址空间,然后将该物理存储映射到这块内存空间中进行操作。物理存储是文件管理,而内存映射文件是操作系统级内存管理。优势: 1.访问磁盘文件上的数据不需执行I/O操作和缓存操作(当访问文件数据时,作用尤其显著); 2.让运行在同一台机器上的多个进程共享数据(单机多进程间数据通信效率
阅读全文
posted @
2012-04-18 09:22
武胜-阿伟
阅读(30383)
推荐(10) 编辑
INSERT INTO .. ON DUPLICATE KEY更新多行记录 转
摘要:如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。例如,如果列a被定义为UNIQUE,并且包含值1,则以下 两个语句具有相同的效果:1234INSERT INTO TABLE (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE TABLE SET c=c+1 WHERE a=1;如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受..
阅读全文
posted @
2012-04-18 09:20
武胜-阿伟
阅读(11052)
推荐(0) 编辑
NET(C#):GetHashCode不需要太复杂 转
摘要:我觉得简而言之GetHashCode的作用就是:尽量用最快的时间对对象进行初步判断。当然这里时间的快慢和判断的深度没有具体要求,只要没有走极端就可以(比如太费时间,或者判断深度太浅)。因此没必要吧GetHashCode搞得太复杂!还有人错误的认为字典的存储是完全靠GetHashCode的结果,显然这是不对的,GetHashCode仅返回一个int怎能胜任所有结果呢?来看这个例子,这样一个类,他的GetHashCode返回整数数据的余2的结果。(仅为做示例,很显然这个GetHashCode的执行很有效率但是比较深度也太差了) classa { publicint Id { get; privat
阅读全文
posted @
2012-04-18 09:04
武胜-阿伟
阅读(6392)
推荐(5) 编辑
MySql避免重复插入记录
摘要:MySql避免重复插入记录发布于: December 15, 2011, 6:02 pm 分类: MySQL 作者: Cyrec 阅读: [308]今天用python抓取数据入库需要避免重复数据插入,在网上找了一些方法:方案一:使用ignore关键字如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:insertignoreinto table_name(email,phone,user_id) values('test9@163.com','99999','9999'),这样当有重复记录就会忽略,执行
阅读全文
posted @
2012-04-18 08:36
武胜-阿伟
阅读(26814)
推荐(2) 编辑
C#复制文件和文件夹 转
摘要:/// <summary> /// 移动文件 /// </summary> /// <param name="source">源目录</param> /// <param name="target">目标目录</param> private bool MoveFolderTo(string srcPath, string tgtPath) { try { //检查目标目录是否是以分割符结束,如果不是这添加 if (tgtPath[tgtPath.Length - 1] != Syst
阅读全文
posted @
2012-04-18 08:35
武胜-阿伟
阅读(427)
推荐(0) 编辑
根据类名字符串实例化类,并调用类的方法或函数 转
摘要://获取类型信息//如果调用其他的DLL//System.Reflection.Assembly asmb = System.Reflection.Assembly.LoadFrom("DLL名");// Type t = asmb.GetType("类名");//如果是不调用其他DLLSystem.Type t = System.Type.GetType("类名"); try { object dObj = Activator.CreateInstance(t); //获取方法的信息 System.Reflection.Metho.
阅读全文
posted @
2012-04-18 08:33
武胜-阿伟
阅读(3219)
推荐(0) 编辑
可变参数
摘要:///<summary>///使用了params关键字///</summary>///<paramname="values">int[]</param>///<returns>int[]的和</returns>staticInt32Add(paramsInt32[]values){Int32sum=0;for(intx=0;x<values.Length;x++)sum+=values[x];returnsum;}
阅读全文
posted @
2012-04-17 09:49
武胜-阿伟
阅读(122)
推荐(0) 编辑
按小时统计的语句 转
摘要:表:issue 字段:id:1time:2012-04-01 08:15:00count:12。。。。。按小时统计count总数,结果如下1 2012-04-01 8:00~9:00 1342 2012-04-01 9:00~10:00 134---------------------------select DATE_FORMAT(time,'%Y-%m-%d %H:00'),sum(count)from issuegroup by DATE_FORMAT(time,'%Y-%m-%d %H:00')
阅读全文
posted @
2012-04-15 08:12
武胜-阿伟
阅读(220)
推荐(0) 编辑
WCF项目中客户端与服务器时间问题步无法连接的解决方案 转
摘要:新项目中使用了WCF 实现客户端与服务器的通讯。c/s架构,客户端采用winfrom实现。项目试运行期间,很多用户都抱怨系统总是无法正常登录。查看日志发现如下异常信息:System.ServiceModel.Security.MessageSecurityException: 从另一方收到未进行安全处理或安全处理不正确的错误。有关错误代码和详细信息,请参阅内部 FaultException。 ---> System.ServiceModel.FaultException: 消息中至少有一个安全令牌无法验证。 WCF通讯采用了UserName安全认证方式,用Google大神搜索一番,上述异
阅读全文
posted @
2012-04-15 08:09
武胜-阿伟
阅读(1098)
推荐(0) 编辑
WCF 传输大数据的问题 转
摘要:使用WCF的默认DataContractSerializer手动去序列化成byte[],然后接收后再手动去反序列化,能解决这个问题。也就是说单纯的byte[]能过去,直接将下面代码中的list以List<May>返回去就是出现LZ遇到的问题。也就是说序列化与反序列化这一大块数据都没问题。主要问题还是出现在WCF组装消息上了。设置一下 ReaderQuotas 这个属性,这是设置消息复杂性的。感觉这种症状很像被DOS干掉的感觉,于是想到ReaderQuotas。下面是我尝试的例子。C# codepublicbyte[] GetMays() { DataContractSerializ
阅读全文
posted @
2012-04-15 08:04
武胜-阿伟
阅读(2173)
推荐(0) 编辑
MYSQL 行转成列 转
摘要:行转成例,用的是MYSQL,不知道有没办法做到下面的转换?工序 料名1 A11 A22 A12 A32 A43 B13 B23 B33 B44 A14 B34 B4转成:工序 料名1 料名2 料名3 料名4 料名51 A1 A2 2 A1 A3 A4 3 B1 B2 B3 B4 4 A1 B3 B4select 工序,group_concat(料名 SEPARATOR ' ')from tbgroup by 工序
阅读全文
posted @
2012-04-15 07:47
武胜-阿伟
阅读(353)
推荐(0) 编辑
CPU使用率
摘要:public class MyClass { PerformanceCounter counter = null; public float CpuUsage { get { if (counter== null) { counter = new PerformanceCounter ("Processor", "% Processor Time", "_Total"); } return (counter.NextValue ()); } }}
阅读全文
posted @
2012-04-09 16:47
武胜-阿伟
阅读(192)
推荐(0) 编辑