摘要: 无意中在一个国外的站点下到了一个利用WCF实现聊天的程序,作者是:Nikola Paljetak。研究了一下,自己做了测试和部分修改,感觉还不错,分享给大家。先来看下运行效果:开启服务:客户端程序:程序分为客户端和服务器端:------------服务器端: IChatService.cs: usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.Serialization;usingSystem.ServiceModel;usingSystem.Text;usingSystem.Co.. 阅读全文
posted @ 2011-12-06 23:59 火腿骑士 阅读(273) 评论(0) 推荐(0) 编辑
摘要: WCF是面向服务的设计,对外开放接口,传递所需的参数,获得预期的数据,但有时候我们需要类似asp.net中session的功能,能够在服务端记录客户端的访问,使得下次调用时不用输入用户名也能知道是当前的客户端调用。那么WCF中能不能实现呢,为此我做了几个简单的试验。关键类这个试验的关键类在与ServiceModel中的OperationContext类,这个里中提供了当前的操作上下文对象,并且有一个关键的Current对象,这个对象中存储了客户端的一些信息。包括一个SessionId。这里写了个测试的类[ServiceContract] public interface IHello ... 阅读全文
posted @ 2011-12-06 18:33 火腿骑士 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 效果先看看效果再说,基本逻辑是两个人通过Silverlight端,借助TCP协议分别向服务器不断传输视频,服务器接收到视频后,会检测这些视频是发给谁的,然后回调某个客户端来接收并显示这些视频。 实现双工的服务契约定义 [ServiceContract(CallbackContract=typeof(IChatServiceCallBack))] public interface IChatService { [OperationContract] void SendVideo(UserVideo userVideo); } [Serv... 阅读全文
posted @ 2011-12-06 18:33 火腿骑士 阅读(219) 评论(1) 推荐(0) 编辑
摘要: 天使用WCF传输用户集合时出现了一个诡异的错误: System.ServiceModel.CommunicationException: 服务器未提供有意义的回复;这可能是由协定不匹配、会话过早关闭或内部服务器错误引起的。百思不得其解,在数次尝试后,发现应该不会是协定不匹配或者会话关闭,于是尝试将传输的List<User>变小,当List<User>变的很小时变不再出现这个问题,于是到网上查了一下,原来WCF传输List集合时,在序列化时是有大小限制的,默认的可序列化的集合长度是65536,如果List的大小超出这个值就需要更改了配置了,在服务器端的behavior配置 阅读全文
posted @ 2011-12-06 18:31 火腿骑士 阅读(252) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/wengyuli/archive/2010/11/17/wcf-duplex-exception-solve.html熟悉WCF的朋友应该都了解WCF的双工回调,这里简单说一下,WCF的服务开放出去后,一旦有客户端调用,服务端便会保留各个客户端的一个句柄,然后服务端会在合适的时候做远程调用来给客户端传递一些数据,这个类似远程事件绑定的机制非常有用,很多时候可以避免timer的主动请求服务器,而是由服务器主动推送数据给客户端:然而,这种机制,有一个问题,就是当client注册到服务器后,client可能会意外掉线但来不及通知服务端,当服务端再试图回调 阅读全文
posted @ 2011-12-06 18:29 火腿骑士 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 当两个WCF应用程序想共享一个端口提供服务时,你会发现后一个启动的服务运行不了,会提示已经有应用程序在监听,如:应用一代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->ServiceHosthost=newServiceHost(typeof(WCFPortSharing.AddService));NetTcpBindingbinding=newNetTcpBinding();host.AddServiceEndpoint(typeof( 阅读全文
posted @ 2011-12-06 18:29 火腿骑士 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 终于有了替代Visio的免费软件—— EDraw Mind Map。这款于2007年10月最新发布 V1.0的国产免费软件,终结了流程图软件“好用则价高,免费则难用”的局面。它体积小巧、功能丰富、作为免费软件,完全可以满足普通用户绘制流程图的需求。 MindMap" alt="终于有了替代Visio的免费软件:EDrawMindMap" src="http://www.edrawsoft.com/image/mindmap200.png">|出品公司:EDraw Soft MindMap" alt="终于有了替代Vis 阅读全文
posted @ 2011-12-06 18:25 火腿骑士 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 园子里已经有不少朋友发过MongoDB的帖子,但是都比较高端,我在这里就写下比较基础的应用,算是MongoDB的第一次接触有所了解。呵呵。我们去Mongodb.org看一看。首页赫然写着 The Best Features of Document Databases,Key-Value Stores,and RDBMSes。意思是最牛逼的文档数据库,键值对的存储并且是RDBMS(relational database management system关系型数据库管理系统)。下面解释说MongoDB缩小了KV存储和传统RDBMS的差距。 Document-oriented storage .. 阅读全文
posted @ 2011-12-06 18:12 火腿骑士 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 对于主要是写入的数据库,mongodb内存占满之后写入效率会变得不稳定这个时候,你需要释放内存(可试用db.runCommand({closeAllDatabases:1}) )实现下面的c#代码可以用来定时释放内存,使用的时候注意把路径换成你服务器的路径,另外就是修改下释放频率Technorati 标签: mongodb?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869class Pr 阅读全文
posted @ 2011-12-06 18:06 火腿骑士 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 一、查询find方法db.collection_name.find();查询所有的结果:select * from users;db.users.find();指定返回那些列(键):select name, skills from users;db.users.find({},{'name':1,'skills':1});补充说明: 第一个{} 放where条件 第二个{} 指定那些列显示和不显示 (0表示不显示 1表示显示)where条件:1.简单的等于:select name, age, skills from users where name = ' 阅读全文
posted @ 2011-12-06 18:04 火腿骑士 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 早就想写一篇Mongodb的文章了,苦于木有时间呀,今天抽空将我所学习到的Mongodb知识整合一下,分享出来,部分Mongodb知识来源于网络.此处不给出链接,如果有侵犯,请及时联系我...一,Mongodb简介Mongo(http://www.mongodb.org/)是一个高性能,开源(代震军大牛正在研究Mongodb的源码,大家可以去看看http://www.cnblogs.com/daizhj/),模式自由(schema-free)的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值(key-value)存储方式。Mongo使用C++开发,具有以下特性:面向集合的存储: 阅读全文
posted @ 2011-12-06 18:01 火腿骑士 阅读(167) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/mail-ricklee/archive/2010/08/31/1814027.html支持如下开发环境和应用环境[操作系统]Windows Server 2008R2 SP1,RedHat5,Android2,WM6[Web服务]IIS 7.5,Tomcat 7,WebLogic 10,WebSphere[SOA]WebServcie,Http Rest,Socket,Remote,SSL[RPC]SOAP,XML,Json,ProtoBuf,MsgPack[Oracle]Oracle 11gR2,Oracle 11gR2Client(JDBC, 阅读全文
posted @ 2011-12-06 17:54 火腿骑士 阅读(253) 评论(0) 推荐(0) 编辑
摘要: mongodb是一款文档型的非关系型数据库,性能非常高,老赵做过相关测试,我测试下来也差不多,和sql server相比,写入性能好太多了,下面是我的测试结果:一条记录4K,1000万的数据占50G磁盘包括索引Document doc = new Document(); doc.Add("Name", "Joseph" + DateTime.Now.Second); 索引 doc.Add("Age", r.Next(20, 50)); 索引 doc.Add("Time", DateTime.Now); doc.Ad 阅读全文
posted @ 2011-12-06 17:16 火腿骑士 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xmlversion="1.0"encoding="utf-8"?><configuration><system.web><compilationdebug="true"/></system.web><!--部署服务库项目时,必须将配置文件的内容添加到主机的ap 阅读全文
posted @ 2011-12-06 17:07 火腿骑士 阅读(197) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/sofire/archive/2011/07/26/2117004.html2010年,在企业工作的我开始意识到,“开发”与“业务”之间的冲突。一个系统开发员想要完美的展现一块功能的业务,这是一件难度较高的事情。精通业务的人,一般是直接的使用者。而一名开发员,仅仅在 DEBUG 时才会使用。这也突兀了一个问题:如何让开发与业务并行?这是一个很纠结的问题。两个结论:要么让开发员熟悉业务,要么让业务员熟悉开发。同样,也是一个很无语的结果。平台化系统迎应而生。这是去年的思想,在今年又发生了许多变化,所以将当时的想法写下来下,一是分享,二是记录,三是总结。 阅读全文
posted @ 2011-12-06 17:06 火腿骑士 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 之前有人问我这个问题。我回答:如果你使用Visual Studio 2010,那么 NuGet 可以使你的生活更加美好。当你项目里要引用到的一些库时候,比如JQuery 库或者 NHibernate, NUnit, log4net 你就可以考虑使用NuGet。它可以辅助你安装或者更新这些库。当然我不得不继续说下去从安装到使用:NuGet是一个Visual Studio 的扩展, 首先你必须要安装它:可以到官方网站: http://nuget.org/然后设置自动检查更新进入 工具|选项,然后环境|扩展管理器 ,点击“ 自动检查更新,安装的扩展。 “当你有一个Visual Studio扩展安装像 阅读全文
posted @ 2011-12-06 16:59 火腿骑士 阅读(191) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/lovecindywang/archive/2011/05/10/2042188.html源代码见 http://wcfextension.codeplex.com/注意:1) 本来没打算这么早开源,这只是一个比较原始的实现,请勿直接在商业环境使用2) 请注意本框架的授权条款Apache License 2.03) 本框架依赖的外部程序集或框架版权归原作者所有4) 框架之后可能会增加很多功能,请关注项目主页即使获得最新信息解压缩代码打开sln文件后可以看到这样的结构1) WcfExtension就是核心框架:Client文件夹放的是客户端用到的一些 阅读全文
posted @ 2011-12-06 16:52 火腿骑士 阅读(287) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/artech/archive/2007/03/02/661969.html双工(Duplex)模式的消息交换方式体现在消息交换过程中,参与的双方均可以向对方发送消息。基于双工MEP消息交换可以看成是多个基本模式下(比如请求-回复模式和单项模式)消息交换的组合。双工MEP又具有一些变体,比如典型的订阅-发布模式就可以看成是双工模式的一种表现形式。双工消息交换模式使服务端回调(Callback)客户端操作成为可能。一、两种典型的双工MEP1.请求过程中的回调这是一种比较典型的双工消息交换模式的表现形式,客户端在进行服务调用的时候,附加上一个回调对象;服 阅读全文
posted @ 2011-12-06 16:35 火腿骑士 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法。主要为,动态绑定,反射动态调用。publicstaticobjectExecuteMethod<T>(stringpUrl,stringpMethodName,paramsobject[]pParams){EndpointAddressaddress=newEndpointAddress(pUrl);Bindingbindinginstance=null;NetTcpBindingws=newNetTcpBinding();ws.MaxReceivedMessageSiz 阅读全文
posted @ 2011-12-06 15:55 火腿骑士 阅读(234) 评论(0) 推荐(0) 编辑