11 2013 档案

摘要:为了适应异步编程,减少回调的嵌套,我在项目中引入了Async,当批量处理且需要同步执行一些逻辑相同的异步函数时,觉得还是Async最为靠谱。我有一个类似下面代码的场景,依据数组中的每一个元素执行一个异步回调函数,比如http.get。var http = require('http');var fs = require('fs');var args_array = [ {name: "hao123", url: "http://www.hao123.com/index.html"}, {name: "ifeng& 阅读全文
posted @ 2013-11-27 17:58 冯翔 阅读(2154) 评论(0) 推荐(0)
摘要:最近一直在做项目迁移的工作,由传统的ASP.NET转到Windows Azure,这里介绍一下Azure的配置管理。在传统的WinForm或ASP.NET项目下,配置文件为web.config(app.config),而Cloud Service项目的配置文件是*.cscfg。一个环境一个配置文件,并且提供可视化编辑。但这里的配置有一个缺点,目前Azure SDK2.0还不支持多级配置,传统配置下的appSettings和connectionStrings在这里只有合并了。在保证对现有系统最小影响的改动下,支持Azure的配置只需要引入一个对象CloudConfigurationManager 阅读全文
posted @ 2013-11-24 21:45 冯翔 阅读(1556) 评论(0) 推荐(0)
摘要:前几天手残不小心删掉了两个不起眼的数据库文件,位于用户文件夹下来,删除时也没提示,还以为是垃圾文件。今天打开VS启动Azure的模拟器一起报Failed to Initialize Windows Azure Storage Emulator 错误,才知道它们的Azure模拟器的数据库,用SQL Server Manage Studio连接(localdb)\v11.0就可以看到他们。既然删掉了数据库文件,就一错到底把数据库也一并删掉,然后再次启动模拟器,它自动创建库文件,正常启动。 阅读全文
posted @ 2013-11-24 20:39 冯翔 阅读(229) 评论(0) 推荐(0)
摘要:刚看新闻,才知道微软发布了Node.js Tools for Visual Studio(NTVS),受够了WebStorm输入法Bug的困扰,这下终于可以解脱了。以Pomelo为例,运行命令:pomelo init pomelo_test,生成一个默认的Pomelo Demo,包含两个目录,服务端(game-server)和客户端(web-server),对应到VS里面就应该是一个解决方案下有两个Project首先用VS创建一个空解决方案文件,注意文件的位置,因为VS默认会对解决方案创建目录,所以我选择了pomelo_test的上一级目录生产的pomelo_test.sln文件暂且放到一边, 阅读全文
posted @ 2013-11-23 20:04 冯翔 阅读(1123) 评论(9) 推荐(0)
摘要:SQL Server性能优化的一些常用脚本,适用于SQL Server 2008,更高的版本某些系统表的字段有所不同,建议参考MSDN。死锁相关/****************************************1. 查询当前DB的锁分配情况Phoenix.Feng 2012-12-0... 阅读全文
posted @ 2013-11-22 14:32 冯翔 阅读(825) 评论(0) 推荐(0)
摘要:Azure中的WebRole和WorkerRole天然支持负载均衡,只需要简单配置一下即可,下面我以一个WebRole为例说明这一点。创建一个项目类型为MVC4的WebRole项目结构如下:右键点击Role的属性进入配置选项卡,将实例计数修改为3,这里的一个实例相当于一台主机为了验证我的配置正确,我在HomeController的Index方法中加点Response数据。IsAvailable表示角色实例是否正在运行在Windows Azure环境中;IsEmulated表示角色实例是否正在运行在Windows Azure云模拟器中;InstanceId获取一个代表角色实例的ID;public 阅读全文
posted @ 2013-11-17 12:14 冯翔 阅读(669) 评论(0) 推荐(0)
摘要:在参考Configure a Web Role for Multiple Web Sites和Tips for Publishing Multiple Sites in a Web Role两篇文章后,用记事本打开Azure项目文件(*.ccproj),在尾部添加如下配置,即可实现多个站点共享一个WebRole,从而更有效的利用Azure资源。 CleanSecondarySites; PublishSecondarySites; $(CoreBuildDependsOn) azure.publish\ ... 阅读全文
posted @ 2013-11-16 23:51 冯翔 阅读(282) 评论(0) 推荐(0)
摘要:这里的Cloud包含Worker Role和Web Role,Role是运行在云主机中的,这里的主机和VM有所不同,Windows Azure Role Architecture。我们并没有和本地服务器一样的权限;且在Role中,除了我们的应用,其他任何数据都是非持久化的。所以在Azure中使用Log4Net需要解决两个问题,分别是写的权限和日志持久化。第一个问题我采用的是Role的本地存储,即在Role运行的VM中,开辟一块空间,供Log4Net使用,这里没有任何权限问题。首先在Azure项目配置文件(csdef)中配置本地存储的名称和容量: 其次在Log4Net文件中修改Append... 阅读全文
posted @ 2013-11-16 23:11 冯翔 阅读(773) 评论(0) 推荐(1)
摘要:ORM2是一款基于Node.js实现的ORM框架,名字相当的霸气,算是同类框架中非常出色的一款,具体介绍请猛击:https://github.com/dresende/node-orm2刚接触Node.js + MySQL,在引入项目之初,受Asp.Net经验的影响,产生了许多不小的麻烦。下面是我定义的一个BaseProvider,作为所有DB Provider的父类,提供了一些公共的方法和属性。function BaseProvider() { this.table_name = {}; this.properties = {}; this.opts = {}; th... 阅读全文
posted @ 2013-11-13 22:37 冯翔 阅读(21759) 评论(1) 推荐(3)