Fork me on GitHub

12 2012 档案

摘要:Mono 3.0.2 基于双工通信的WCF应用 Demo 的讨论中 深蓝医生 提到了一个问题:楼主,找了几天,终于明白我的程序错误在哪里了,在服务契约上加入下面的接口方法: [OperationContract] double Sub(double x, double y); 这样客户端调用的时候,能够直接得到Sub方法的返回值,但同样功能的服务在mono 上面运行的时候,出现下面的错误: Unhandled Exception: System.NullReferenceException: Object reference not set to... 阅读全文
posted @ 2012-12-31 22:31 张善友 阅读(2387) 评论(7) 推荐(0) 编辑
摘要:双工(Duplex)模式的消息交换方式体现在消息交换过程中,参与的双方均可以向对方发送消息。基于双工MEP消息交换可以看成是多个基本模式下(比如请求-回复模式和单项模式)消息交换的组合。双工MEP又具有一些变体,比如典型的订阅-发布模式就可以看成是双工模式的一种表现形式。双工消息交换模式使服务端回调(Callback)客户端操作成为可能。本文测试Mono 3.0.2/.NET 4对双工(Duplex)模式的WCF支持。 阅读全文
posted @ 2012-12-30 10:11 张善友 阅读(4837) 评论(11) 推荐(1) 编辑
摘要:SignalR类似与JavaScript实时框架,如Socket.IO。SignalR能够完成客户端向服务器的异步通信,并同时支持服务器向浏览器客户端推送事件。SignalR的连接通过日益流行的WebSockets API完成,而如果WebSockets无法使用,它会透明地回落为长轮询技术(long... 阅读全文
posted @ 2012-12-29 22:59 张善友 阅读(21687) 评论(5) 推荐(4) 编辑
摘要:这个例子我们介绍的是使用SQL ServerQuartz.net (version 2.0.2) cluster和crystal-quartz 实现远程管理。我们需要一个SQLServer数据库,Quartz.net 将所有的job details 和triggers 保存到这个数据库,使用Quartz.NET提供的数据库脚本Quartz.net database schema creation script.下面我使用crystal-quartz,用它的CrystalQuartz.Example.RemoteScheduler.Server 示例,下面是它的配置 ... 阅读全文
posted @ 2012-12-29 14:18 张善友 阅读(14468) 评论(23) 推荐(1) 编辑
摘要:《在VS2010沒有AD的狀態下增加Test Controller》这篇文章介绍了在工作组环境下如何使用VS2010的性能测试工具。另外负载测试时都会有250人的限制,这篇文章可以让你轻松搞定《讓VS2010 Loat Test 人數無上限》。http://blogs.msdn.com/b/vstsqualitytools/archive/2011/03/08/announcement-unlimited-load-testing-for-visual-studio-2010-ultimate-with-msdn-subscribers-now.aspx 阅读全文
posted @ 2012-12-29 10:00 张善友 阅读(639) 评论(0) 推荐(0) 编辑
摘要:Math.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开源类库。Math.NET含了一个支持线性代数的解析器,分析复杂微分,解方程等等功能。这个项目大部分采用的是MIT/X11开源软件协议,部份采用的是GPL 或 LGPL协议。Math.NET包含下列几个模... 阅读全文
posted @ 2012-12-26 21:48 张善友 阅读(33776) 评论(1) 推荐(3) 编辑
摘要:Glimpse是一款.NET下的性能测试工具,支持asp.net 、asp.net mvc, EF等等,优势在于,不需要修改原项目任何代码,且能输出代码执行各个环节的执行时间 ,安装方式非常简单,通过nuget直接安装即可。 阅读全文
posted @ 2012-12-25 07:27 张善友 阅读(10813) 评论(11) 推荐(16) 编辑
摘要:一个从asp.net mvc 3升级到asp.net mvc 4的项目发生了如下错误: [A]System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to [B]System.Web.WebPages.Razor.Configuration.HostSection. Type A originates from 'S... 阅读全文
posted @ 2012-12-23 22:28 张善友 阅读(8302) 评论(0) 推荐(2) 编辑
摘要:FastReport.Mono 是一款为Mono Framework设计的功能全面的报表生成工具。FastReport Mono 是一个多平台的报表解决方法。它可以应用于Windows, Linux, Mac OS X,以及任何支持XamarinMono的操作系统。有了FastReport.Mono ,你可以创建独立于应用程序的.net和Mono报表。 具体参见 http://www.fastreportcn.com/product/.MONO_7.html 阅读全文
posted @ 2012-12-23 10:44 张善友 阅读(1111) 评论(0) 推荐(0) 编辑
摘要:GiHub上有一个同名(Faker.NET)的项目, 是Ruby Faker gem的C#开源移植实现,主要用于方便地生成仿造数据(虽然是假数据,但是看起来很像真的),包括姓名、地址、电话号码等等。无论是用于演示,还是用作测试数据,Faker都非常好用。 那么它是如何工作的呢?阅读它的代码你会发现——解决方案包含了一些资源文件,这些文件包含了每个属性(attribute)的一些可能的优质值 (例... 阅读全文
posted @ 2012-12-22 23:39 张善友 阅读(2122) 评论(0) 推荐(0) 编辑
摘要:为了提高网站性能、和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc 构架下的网站,小尾鱼的池塘的文章 利用ResultFilter实现asp.net mvc3 页面静态化提供一种比较好的静态化方式.仅此一文让你明白ASP.NET MVC原理 阅读全文
posted @ 2012-12-22 23:12 张善友 阅读(6085) 评论(0) 推荐(1) 编辑
摘要:Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数。Twemproxy有何用途呢?它可以:通过代理的方式减少缓存服务器的连接数自动在多台缓存服务器间共享数据通过不同的策略与散列函数支持一致性散列通过配置的方式禁用失败的结点运行在多个实例上,客户端可以连接到首个可用的代理服务器支持请求的流式与批处理,因而能够降低来回的消耗Redis的创建者Salvatore Sanfilippo(@antirez)撰写了一篇文章,介绍了如何通过Twemproxy在开启Redis-cluster特性前就让Redis集群发挥作用,而在大多数情况下都不会丧失太多的性能 阅读全文
posted @ 2012-12-19 13:50 张善友 阅读(7272) 评论(0) 推荐(0) 编辑
摘要:RAID 10 vs. RAID 5 Performance 上给出了使用SQLIO.EXE 产生8KB 随机读和写的一个性能数据图,相差接近一倍的性能差距。磁盘访问时间=磁盘寻道时间+延迟延迟时间=1minute/RPM/2决定IOPS的主要因素在于阵列的算法、Cache命中率,以及磁盘个数。阵列的算法会由于阵列的不同而不同,例如在hds usp上面,可能因为ldev(lun)存在队列或者资源限制,而导致单个ldev的IOPS上不去。所以我们在进行存储I/O设计时,必须结合我们使用的存储产品去了解这个存储的一些算法规则与限制。在RAID5与RAID10上,读IOPS没有差别。但是,相同的业务 阅读全文
posted @ 2012-12-18 22:23 张善友 阅读(7423) 评论(0) 推荐(0) 编辑
摘要:[原文发表地址] Updating my Windows Phone App to Windows Phone 8[中文原文地址] 将我的 Windows Phone 应用程序更新到 Windows Phone 8[原文发表时间] 2012-12-8 12:53今年早些时候,我花了一天编写了一个小的 Windows Phone 7 应用程序,我将它称之为Lost Phone Screen。它能为你创建锁屏,并在上面显示你的姓名和联系号码,以便当你丢失它时,用老办法帮助找到你的手机。无需 GPS,你只须告诉你的同伴有一个小小的奖赏,然后让他们拨打电话。现在你可以免费下载它,大家无需为任何软件付费 阅读全文
posted @ 2012-12-17 22:37 张善友 阅读(1167) 评论(3) 推荐(0) 编辑
摘要:存储过程(Stored Procedure)不仅仅是将多得简直荒唐的业务逻辑塞入数据库的一种方式;它还是避免将多得简直荒唐的存储逻辑塞入应用程序层(application layer)的一种方式。它使得应用程序可被视为理想的数据表现,同时又不会泄露数据库管理员(DBA)的神机妙算。各种各样的暂存表、非规范化的报告表、视图、以及表函数都被隐藏在简单的存储过程调用背后,从而形成了数据库的公共应用编程接口(API)。注意,从微小的性能调整到全面重构的一切都可以完成,且无须重新部署许许多多依赖于该数据库的应用程序。如果你正在用Entity Framework的Code First技术,那么你必须一直等 阅读全文
posted @ 2012-12-17 21:42 张善友 阅读(5495) 评论(3) 推荐(0) 编辑
摘要:每当遇到http错误代码为400,代表客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误。使用Fiddler2 查看请求发现请求的长度超过了MaxRequestBytes的默认长度16384.在IIS的错误日志里头也看到了C:\WINDOWS\system32\LogFiles\HTTPERR\ httperr1.log 的错误2012-12-17 05:33:00 10.13.64.91 12433 10.14.12.25 80 HTTP/1.1 GET /Workspace/Navigation/Navigation.aspx 400 - RequestLength 阅读全文
posted @ 2012-12-17 14:26 张善友 阅读(1057) 评论(0) 推荐(0) 编辑
摘要:DebugDiag 工具为了帮助解决问题,例如挂起、 速度慢、 内存泄漏或内存碎片,和任何用户模式进程崩溃。该工具包括附加调试脚本,侧重于互联网信息服务 (IIS) 应用程序、 web 数据访问组件、 COM + 和相关 Microsoft 技术、 Sharepoint 和.NET。它提供可扩展对象模型中的 COM 对象的形式,并具有一个内置的报告框架提供的脚本主机。它由以下 3 部分组成: 一个调试服务、 调试器主机和用户界面。 阅读全文
posted @ 2012-12-16 18:40 张善友 阅读(7210) 评论(0) 推荐(1) 编辑
摘要:谷歌翻译/微软翻译可以让你的博客支持多国语言,这是一项免费的在线语言翻译服务,可以即时自动翻译文本和网页,支持西班牙语、法语、日语、德语、中文、意大利语及俄语等多种语言之间的互译。 1、谷歌翻译:只要在网站中添加一段代码,就能使其他二十三种语言的外国网友轻松的透过谷歌翻译,用他们的母语了解你的中文网页了! <script src="http://www.gmodules.com/ig/ifr?... 阅读全文
posted @ 2012-12-16 17:28 张善友 阅读(1261) 评论(2) 推荐(0) 编辑
摘要:FileSystemWatcher 导致Mono ASP.NET应用程序导致CPU使用率比较高,解决方法也很简单,如果你可以的话的关闭文件系统监测。 阅读全文
posted @ 2012-12-15 13:21 张善友 阅读(2961) 评论(1) 推荐(0) 编辑
摘要:微软的Windows Azure上也支持Linux虚拟机服务,下面我使用Azure的虚拟机服务跑一个OpenSuse的虚拟机测试Mono 3.0.2, 测试ASP.NET WebAPI 失败了。也有同学在报这个问题 http://mono.1490590.n4.nabble.com/ASP-NET-Web-API-on-Mono-3-0-Could-not-load-type-System-Web-Http-WebHost-HttpControllerHandler-td4657079.html ,估计得等待正式版才有希望。 阅读全文
posted @ 2012-12-12 21:58 张善友 阅读(2240) 评论(10) 推荐(2) 编辑
摘要:【原文】Dependency Injection with ASP.NET Web API and Autofac,以下为摘要:在ASP.NET Web API里使用Autofac通过NuGet安装Autofac.WebApi。(Nuget会安装依赖的Autofac.dll)。PM > Install-Package Autofac.WebApi引用如下命名空间。using Autofac; using Autofac.Integration.WebApi;代码配置Autofac 可参看http://efmvc.codeplex.com/ :一个样例Web程序,用来展示ASP.NET M 阅读全文
posted @ 2012-12-12 20:42 张善友 阅读(5097) 评论(0) 推荐(0) 编辑
摘要:Mono 3现在是默认 GC是SGen 垃圾回收器,垃圾回收器几个性能和扩展性方面的改进,以更好地利用多核处理器硬件。SGen 已移植到 Windows 和 MIPS。mono 最开始使用的是 Boehm-Demers-Wiser Conservative Garbage Collector ,mono 3.0之前的版本作为默认的垃圾收集器也是这个,Boehm垃圾收集器的主要问题在于无法精确读取寄存器与栈帧。因为无法确定给定值到底是指针还是标量,因此它总是假设给定值是指针,并且将相关联的对象标记为存活状态。这么做不仅会错误导致大块内存无法分配,同时还使得压缩可用空间这项工作变得异常艰难。后来m 阅读全文
posted @ 2012-12-09 21:46 张善友 阅读(2744) 评论(1) 推荐(1) 编辑