在开发.NET项目时如果有用到配置文件,一定要注意特殊符号的转义问题。按照XML规范,类似"&"和"<"的字符在XML中都是有特殊含义,比如"<"是作为XML中用于声明元素的语法。我曾在属性值中使用了"&"符号导致VS编译生成失败,提示:应用程序配置文件"App.config/Web.config"无效。分析EntityName时出错。
在首次使用ARR的时候,曾经踩过一个坑,结果导致测试服务器IIS上的所有网站都无法正常打开,排查发现网站请求的js和css文件都返回404,有的网站甚至连页面也返回HTTP 404。后经过研究,发现造成此问题的原因在于首次创建ARR的Server Farm时,iis会引导我们创建一个默认的重写规则,如果不仔细看点确定就踩到坑里去了。
本文接着上一篇的踩坑笔记一,在重新开发ChinaPay的支付过程中,又遇到新的问题,将支付模块发布到IIS服务器上,发现竟然无法使用,在提交支付订单的时候会提示:检索 COM 类工厂中 CLSID 为 {522E44BF-7BC9-4135-B5EB-8CC154144B0D} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。
无比郁闷的一次维护经历,银联在线的ASP功能模块竟然不支持64系统!如果使用该功能模块的支付页面在64位系统上运行,页面会报出错误:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象!
在visual studio 2013项目中引用ChinaPay的DLL,调用NetPayClientClass类会导致IDE提示警告信息:无法嵌入互操作类型“ChinaPay_NET.NetPayClientClass,请改用适用的接口,随后生成项目失败。后查阅相关资料,只要设置下改DLL的嵌入互操作类型即可。
由于业务需要,IIS要绑定几千个域名,如果通过界面手动绑定域名肯定是行不通的,于是写了个小工具来解决IIS批量绑定域名的问题。其实思路很简单,就是直接操作IIS的配置文件。
前阵子本人在使用Visual Studio 2013编码时发现快捷键与QQ热键冲突了,导致本来是打开解决方案视图的快捷键(Ctrl+Alt+L)变成了锁定QQ,对于程序员来说,使用IDE的快捷键对于提高编码效率是十分重要的,所以这个问题是不能容忍的,必须解决掉。
这几天稍微研究了下ASP.NET MVC的全局异常处理以及捕获,相比ASP.NET Web Form,ASP.NET MVC的处理方式有所不同,以往是通过注册Global.asax文件中的Application_Error事件进行全局异常捕获,现在MVC可以使用强大的过滤器进行自定义错误的处理。本文作为学习笔记,将ASP.NET MVC中,我已知的几种全局异常捕获及处理的思路进行整理和对比分析。
ASP.NET MVC 默认提供了一个异常过滤器HandleError特性,使用该特性可以极为方便的捕捉并处理控制器和操作抛出的异常,也可以将此特性注册为全局异常过滤器从而捕捉项目中所有Action方法抛出的异常。如果想要简单的消灭错误黄页(错误详细页),使用HandlerErrorAttribute是不错的选择!
FilterConfig类是ASP.NET MVC 5和4中新增加的配置类,刚刚使用新版框架的朋友可能会产生疑问,这个FilterConfig是干什么的?有什么用?简单来说,它就是一个专门用来注册全局过滤器的静态类。
在ASP.NET MVC中,默认的异常处理机制有时候无法满足项目的业务需求,我们可以通过实现IExceptionFilter接口编写自己想要的异常处理代码,比如全局异常捕获,记录错误日志等自定义异常处理操作。
在ASP.NET MVC中,通过应用程序生命周期中的Application_Error事件可以捕获到网站引发的所有未处理异常。本文作为学习笔记,记录了使用Global.asax文件的Application_Error事件处理和捕获全局异常的详细步骤。