摘要: 最近在学习博客园r01cn 的ASP.NET WebAPI系列文章时(http://www.cnblogs.com/r01cn/tag/ASP.NET%20Web%20API/),发现有一篇文章用到了knockout.js. knockout似乎已经包含在MS MVC4的安装包里了,可见其强大和通用性。knockout.js是MVVM模式的一种实现,类似于two-way的绑定模式,即model层改变了,UI层跟着改变,反之也一样。knockout.js用纯js编写,可以很好的与其他js插件一同使用,比如jquery,jqueryUI等等。个人感觉可以省去很多你写dom事件触发的代码,也不用在d 阅读全文
posted @ 2012-11-26 16:50 nickycookie 阅读(3457) 评论(6) 推荐(1) 编辑
摘要: 不管是TDD也好,传统的开发也好,肯定要先做设计,设计展开后如果采用普通方法做开发,那就是开始写代码,然后单元测试,集成测试等工作。如果用 TDD,那就要先从设计中把测试列表(其实就是要实现的功能,人机交互的条目罗列出来,形成一个列表)整理出来。然后就开始开发,在TDD中,“红-绿- 重构”的过程很多说明TDD的文章都要说到,本篇也不例外。有了测试列后,先拿出一个条目,进行测试的开发,开发完成运行,因为被测的程序还没有编写肯定是失败的,然后实现程序,再测,可能还失败,改成,测试成功,然后重构来优化代码,再进入下一个测试条目的循环。在.net平台下,怎么去实现呢?新建一个类库,里面写一个功能类p 阅读全文
posted @ 2012-11-08 16:54 nickycookie 阅读(288) 评论(4) 推荐(0) 编辑
摘要: 场景使用两台主机A和B利用load balance来部署一个网站cookiesite,有一个folder名字叫SMSF,这个folder下的文件都需要支持在线编辑,类似于portal的功能,于是启用了webdav,webdav访问这个文件夹下的文件的话,形式必须是http://www.site/smsf/filename.xlsx,而不是把文件流写到response中。问题因为采用loadbalance的部署方式,SMSF只能放在某一台电脑上,比如B,程序中的访问url就是http://www.site/smsf/filename.xlsx,当load balance hit到主机B时没有问题 阅读全文
posted @ 2012-11-06 16:28 nickycookie 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 场景使用两台主机A和B利用load balance来部署一个网站cookiesite,他的主页URL比如叫做www.cookie.com/cookiesite/default.aspx.在我们cookie这个website下嵌套部署了一个webservice(cookiews),然后网站cookiesite会调用cookiews,所以在site的webconfig中指定了这个webservice的地址:www.cookie.com/cookiews/cookiews.asmx。问题website跑起来的时候总是连不上这个webservice,总是抛出soapexception。解决方法用排出法 阅读全文
posted @ 2012-10-23 10:58 nickycookie 阅读(894) 评论(2) 推荐(0) 编辑
摘要: 项目中performance不是很好,有些页面viewstate很大,试图去掉一些viewstate,于是google了下原理,发现个很严重的问题,之前对viewstate的理解过于表面了。比如页面一个textbox一个button,输入abc,按一下button后abc仍旧保存是因为存进了viewstate,如果把enableviewstate设成false的话,这个abc应该就会没了,但是事实上还是有的,这的确出乎很多的预期。其实这个abc并未序列化至viewstate里这里是原文分析,很透彻,很佩服此人的质疑和思考能力:http://weblogs.asp.net/infinitiesl 阅读全文
posted @ 2012-09-09 18:02 nickycookie 阅读(150) 评论(1) 推荐(0) 编辑
摘要: 最近看一些东西总提高DIP,IOC,DI的概念,不太懂,所以专门花了点时间学习了下,可能自己并未完全理解,这里转一些文章。便于以后查看复习理解DIP依赖倒置原则DIP(Dependency-Inversion Principles)IoC控制反转(Inversion of Control,IoC),简言之就是代码的控制器交由系统控制,而不是在代码内部,通过IoC,消除组件或者模块间的直接依赖,使得软件系统的开发更具柔性和扩展性。控制反转的典型应用体现在框架系统的设计上,是框架系统的基本特征,不管是.NET Framework抑或是Java Framework都是建立在控制反转的思想基础之上。控 阅读全文
posted @ 2012-09-01 15:51 nickycookie 阅读(387) 评论(2) 推荐(0) 编辑
摘要: SignalR 是一个集成的客户端与服务器库,基于浏览器的客户端和基于 ASP.NET 的服务器组件可以借助它来进行双向多步对话。 换句话说,该对话可不受限制地进行单个无状态请求/响应数据交换;它将继续,直到明确关闭。 对话通过永久连接进行,允许客户端向服务器发送多个消息,并允许服务器做出相应答复,值得注意的是,还允许服务器向客户端发送异步消息。它和AJax类 似,都是基于现有的技术。本身是一个复合体。一般情况下,SignalR会使用Javascript的长轮询( long polling),实现客户端和服务端通信。在WebSockets出现以后,SignalR也支持WebSockets通信。 阅读全文
posted @ 2012-08-29 16:14 nickycookie 阅读(1327) 评论(6) 推荐(1) 编辑
摘要: ELMAH(Error Logging Modules and Handlers for ASP.NET )是一款ASP.NET下的系统错误记录管理工具,它可以非常方便的把asp.net的错误记录到XML,MS SQLServer,SQLite,MySql等文件中,甚至它还可以发送邮件。官方网站:http://code.google.com/p/elmah/它可以以插件化的形式集成到你的网站中,而不需要重新编译和部署。它的原理其实就是通过利用HTTP Moduler和HTTP Handlder来实现的,并且它提供了provider model供用户选择以怎样的方式储存错误。具体可以参考:htt 阅读全文
posted @ 2012-08-28 16:40 nickycookie 阅读(467) 评论(2) 推荐(0) 编辑
摘要: 由于Quartz.net用到了Common.Logging组件作为日志的实现方式,有必要学习下。官方网址:http://netcommon.sourceforge.net/index.html官方文档: http://netcommon.sourceforge.net/docs/2.1.0/reference/html/index.html目前比较著名的一些日志模块有:log4net, Enterprise Library Logging, NLogCommon.Logging在抽象层面上担任了适配器的角色,官网有句话:Common.Logging library introduces a s 阅读全文
posted @ 2012-08-28 12:55 nickycookie 阅读(735) 评论(1) 推荐(0) 编辑
摘要: 场景:项目里有一个需求就是24小时内有两个时间段需要发信notification mail,比如每天10am-10:30am和6pm-6:30pm。项目中本来有个windows service做一些类似的操作这个windows service做事情的逻辑就是while(true){ DoSomething(); Sleep(1000*60*10);}我拿到这个需求的建议是不要再依赖于那个windows services了,是否可以写个单独的exe然后用windows的schedule tasks来完成,比较精确。可以就在那个时间段做事情,而用原来的windows service时间上很难做.. 阅读全文
posted @ 2012-08-25 15:06 nickycookie 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个项目,需要利用WebService进行不同系统间的交互,其中学习到了很多技术上的知识。很多东西还是会在真正的实践中发现问题,进而去解决的。接下去我会列举一些。场景系统A在外网上,系统B在内网,A需要发送消息到B,在B中根据发送的符合XML格式的raw字符串在B中做一些操作。因为A在外网,在A上enable了SSL,并且A的服务器上部署了一个类似proxy的webservice,只是做一些验证,真正的事情是在B中完成。于是也部署了一个webservice在A上。1。数据结构只有出现在方法的参数,返回值上,才会在客户端生成代理类,这个代理类不包括原来数据类型中的方法。原本有一个类型我想 阅读全文
posted @ 2012-08-16 12:26 nickycookie 阅读(629) 评论(4) 推荐(0) 编辑
摘要: 情景最近项目里有个需求,本生我们有个项目叫做A,然后部署到windows2003 server的IIS下的default web site 下的叫A的Virtual Directory。最近要加一个独立于这个项目A的webservice B,也就是说B的Release时间可以和A不同步。不知道为啥,老美希望在A这个VD下建一个子的VD C,然后这个C里面部署webserivce B,也就是说这个C就是一个嵌套的VD。C里面有一个webconfig,一个asmx,一个bin下面有dll问题用IE直接测试这个Webservice,打开asmx文件,会报parse error, can not cr 阅读全文
posted @ 2012-07-04 14:16 nickycookie 阅读(1125) 评论(1) 推荐(2) 编辑