摘要: 上周四产品上线一切运行正常,做了一点小改动后周四晚上发布,周五大量用户反馈在访问页面时出现长时间等待响应。将4台Web前端的服务器重启,缓存服务器2台重启,问题依旧。由于是生产环境,只能上去查看IIS、Windows日志,没有记录任何异常。于是将版本更新回周四凌晨发布版本,运行正常。据版本跟踪只修改... 阅读全文
posted @ 2012-08-10 10:44 junchu25 阅读(1010) 评论(3) 推荐(3) 编辑
摘要: 在System.Web.Compilation下默认提供了三个常用的ExpressionBuilder,比如在UI上快速访问AppSettings可以这么写:1 <%= ConfigurationManager.AppSettings["IsDebug"] %>2 <%$ appSettings:IsDebug %>%$ appSettings:IsDebug %>实际上调用了AppSettingsExpressionBuilder,这一层的转换到调用由ASP.NET页面的动态编译器负责(其实到真正动态执行某个页面时所加载的类型并不是我们编写代 阅读全文
posted @ 2012-08-10 10:41 junchu25 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 新安装了Windows SDK 7.1,在设置Microsoft Helper Viewer的location时选错了路径,于是选择卸载了Helper Viewer。安装运行WCU\Helper下的HelpSetup_x64(x86).exe,提示必须在安装完成Visual Studio 2010后才可以运行。MSDN Visual Studio Forms里有人提到需要重新再次安装、修复Visual Studio或者临时删除一个已经安装的功能就可以进入到安装Helper Viewer的界面。其实还有一个最快捷的方法就是首先启动Microsoft Help Library Agent(点击任何 阅读全文
posted @ 2012-08-10 10:30 junchu25 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 决定减少使用WTL用Qt,想要在Visual Studio下使用Qt需要先下载Qt的Windows SDK和Qt的Visual Studio AddIn,可以去官网下载。之后分别安装SDK和AddIn。由于Qt默认使用了mingw编译,所以需要重新编译。打开Visual Studio Command Prompt (2010),cd到Qt安装目录的qt文件夹,例如:E:cd E:\Coding\Qt\2010.05\qt再次输入configure -platform win32-msvc2010选择O和Y开始等待配置编译环境,整个过程大概需要10分钟左右,之后输入nmake开始编译(编译时间较 阅读全文
posted @ 2012-08-10 10:23 junchu25 阅读(2150) 评论(0) 推荐(0) 编辑
摘要: 在.NET Framework 4.0以上版本中Monitor的Enter函数新增加了一个重载版本,导致原先Castle.DynamicProxy中的LockBlockExpression在Emit时获取Enter函数从出现歧义(最新版本Castle已经解决了该问题,并且在2.5.2.0版本中DynamicProxy被合并到Castle.Core.dll中)。代码如下:gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod(“Enter”));如果你手头上有Castle.DynamicProxy的源代码,可以将它修改如下:gen.Emit(OpCode 阅读全文
posted @ 2012-08-10 10:16 junchu25 阅读(303) 评论(0) 推荐(0) 编辑
摘要: IFilter接口定义了Windows平台扫描文件文本的操作,不同的IFilter实现存储在注册表中。通过以下三个步骤获取:1、注册表HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{文件扩展名}\PersistentHandler\下存储了文件扩展名持久化处理器,获取它的C... 阅读全文
posted @ 2012-08-10 10:11 junchu25 阅读(1640) 评论(0) 推荐(0) 编辑
摘要: 在做手写板应用中,往往会将用户的连续笔迹下的图形转换为相应的实际输入大小的文字。比如FontSize为12那么实际的宽度和高度又是多少?你可以创建一个TextBlock并设置它的FontSize,最后调用它的Measure函数获得Size:1 TextBlock tb = new TextBlock();2 tb.Text = “a”;3 tb.FontSize = 12d;4 5 tb.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));6 7 Size fontSize = new Size(tb.Actu 阅读全文
posted @ 2012-08-10 10:07 junchu25 阅读(506) 评论(1) 推荐(1) 编辑
摘要: 前段时间用户反馈我们的一个Active-X控件在对WPS文档进行文本域操作时无法完全替换值,但是在WORD中不存在该问题。通常来说WPS的许多接口都和WORD相同,DISPID也几乎一致(WPS Document的Application的DISPID和WORD不同,一个是0x000003e8而另一个... 阅读全文
posted @ 2012-08-10 02:19 junchu25 阅读(986) 评论(0) 推荐(0) 编辑
摘要: IPersistFile的Save函数可以保存当前文件,如果在WORD2003中打开一个WORD2007格式的文件,并调用Save函数,你会发现原先的2007格式丢失,当前文档成为了97-03格式。由于后缀名依然为.docx,导致WORD2007打开文档时出错。如果你将出错文档的扩展名修改为.doc... 阅读全文
posted @ 2012-08-10 02:17 junchu25 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 迁移源代码服务器,于是在一台装有Windows Server 2008的机器上安装TFS 2010。在配置到准备安装服务时出错,日志内容提示由于防火墙原因端口未开放,查看日志则是在配置应用程序池的时候抛出了0×80005000的COMException,调用堆栈显示在绑定IIS的目录服务出错:System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)System.DirectoryServices.DirectoryEntry.Bind()System.DirectoryServices.DirectoryEnt 阅读全文
posted @ 2012-08-10 02:15 junchu25 阅读(466) 评论(0) 推荐(0) 编辑