Loading

摘要: 最近跟高老师讨论nginx跟tomcat集群做负载均衡方案。感觉很有意思。想到自己项目中服务用的WCF技术,于是就想WCF如何做负载均衡,Google了一会,发现wcf4.0的路由服务好像可以实现。不过在研究路由服务期间,我有了个自己的方案,哈哈。 我要在客户端跟WCF服务中间部署一台WCF平衡服务器,用来分发请求,模拟nginx的工作。 WCF平衡服务器我同样用WCF来实现,所有服务接口全部通过平衡服务区暴露给客户端。对于客户端来说,只要跟正常调用服务一样,添加平衡器的远程服务引用。 实现: 1.平衡服务类库 namespace WcfSimpleBalance{ ///... 阅读全文
posted @ 2013-06-02 22:34 Agile.Zhou 阅读(5346) 评论(18) 推荐(10) 编辑
摘要: 这次来看一下怎么把上次的HTML5画图板使用PhoneGap移植到Andriod上去。经过上一篇的PhoneGap环境的搭建,很轻松的就把一个HTML5的web应用移植到了Andriod上去,可以看出PhoneGap的强大。 1.添加自定义的JavaScript文件index.js 在www文件夹下添加js文件夹,在js文件夹下添加index.js 这里我重构了上一次的画板的JavaScript文件,不过代码的关键点是全部一样的。我只不过是按照面向对象的方式重构了一下代码。正好学习JavaScript怎么实现一个类,怎么调用方法等,挺有意思的。 function App(){ ... 阅读全文
posted @ 2013-05-04 20:43 Agile.Zhou 阅读(1578) 评论(2) 推荐(1) 编辑
摘要: PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台。官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表。但是有一条跨平台,却是很明显的优势。因为它采用HTML5+JavaScript的模式来开发应用。PhoneGap用JavaScript统一封装了几大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等。。这样的话从一个平台移植到另外一个平台只需要把HTML代码跟JS原封不动的拿过去,打包一下就可以了。PhoneGap后来被Adobe收购,然后又贡献给了开源社区,现在由Apache管理,改名cordova。 . 阅读全文
posted @ 2013-05-03 02:27 Agile.Zhou 阅读(3393) 评论(8) 推荐(2) 编辑
摘要: 首先要说明的是这里不是用鼠标画画,而是在触摸设备上用手指,比如ipad。 做画图板,自然使用html5的canvas来实现了。在canvas中我们可以画圆,画矩形,画自定义的线条等等。这次主要使用的画圆跟画线条来实现。html中支持对触摸事件的响应。 onTouchStart 触摸开始 onTouchMove 触摸滑动 onTouchEnd 触摸结束 有了这些事件,我们实现用手指在浏览器里画画就很简单了。 IPAD上的效果: 思路:当手指触摸到屏幕的时候在onTouchStart 事件中在手指触摸的位置上添加一个圆;当手指开始滑动的时候在onTouchMove中不断的从上一个... 阅读全文
posted @ 2013-05-02 02:56 Agile.Zhou 阅读(6685) 评论(1) 推荐(4) 编辑
摘要: 最近换到了win8,win8风格的进度条挺好玩的。可惜wpf上没有这个控件。那咱就自己来写一个吧。用SL封装了个效果:思路:这个过程可以分为3个阶段,最左边开始一个快速移动动画到中间位置,开始缓慢的做位移,然后再开始快速的飞到最右边,消失。且在第一个点缓动的时候,第二个点开始启动,依次类推,到最后一个点飞到最右边的时候,再启动第一个点。如此循环。XAML:主要是定义4个点,以及每个点的动画。<UserControlx:Class="Win8ProcessBar.CtlWin8ProcessBar"xmlns="http://schemas.microsoft 阅读全文
posted @ 2013-04-22 23:06 Agile.Zhou 阅读(3428) 评论(21) 推荐(9) 编辑
摘要: 在win8+vs2012环境下面,我们除了能用C#,C++来开发win8的app,还可以用js+html直接开发win8的app。这确实是个很神奇的事情。今天体验了一下~ 1.新建一个空白应用 2.修改default.html 在body里面用标准的html input控件添加了一个button。 3.给button绑定事件 新建完项目VS会自动引用default.js 我们可以把绑定事件的js代码放到这里。 默认的注释已经写的很清楚了。在哪里写启动时候的初始化代码,哪里写恢复时候的代码。这个有点类似wp7/8的app.xaml。 4.添加点击事件 还是在de... 阅读全文
posted @ 2013-04-17 02:39 Agile.Zhou 阅读(1665) 评论(0) 推荐(2) 编辑
摘要: 问题 最近跟同事讨论for循环中变量定义在哪里的问题。先看一段代码: private void ForInner() { for (int i = 0; i < 5; i++) { var obj = new MyClass(); Console.WriteLine(obj.name); } }这是我们正常习惯写的代码。同事的意思是说如果照上面那样写因为每循环一次,obj的变量就要在堆栈上分配一段空间,造成浪费。应该把ob... 阅读全文
posted @ 2013-04-11 02:18 Agile.Zhou 阅读(5153) 评论(13) 推荐(3) 编辑
摘要: 今天一个windows服务死活启动不了,报错“类型初始值设定项引发异常”。查了一下午,各种测试,最后问题的关键居然是App.Config里面<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>最后一个startup没封闭。哎。。。 阅读全文
posted @ 2013-04-09 17:51 Agile.Zhou 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 坑爹的PrintDialog 其实并没有队PageRange这个属性做处理。自己处理一下~publicclassPrintDialogWithPageRange:PrintDialog{publicnewvoidPrintDocument(DocumentPaginatordoc,stringdesp){if(this.PageRangeSelection==PageRangeSelection.AllPages){base.PrintDocument(doc,desp);}else{stringtimeStamp=DateTime.Now.DayOfYear.ToString()+DateT 阅读全文
posted @ 2013-03-27 10:23 Agile.Zhou 阅读(2382) 评论(0) 推荐(0) 编辑
摘要: 终于抽了点时间把有道云笔记的OPEN API用.NET封装完了。使用了DotNetOpenAuth的第三方类库,真是事半功倍,什么都帮你封装好了。不过还没好好的测试过,就称它为α版吧~~欢迎测试!开源地址:http://ydnoteopenapi4n.codeplex.com/ 阅读全文
posted @ 2013-03-25 01:14 Agile.Zhou 阅读(1137) 评论(0) 推荐(0) 编辑