随笔分类 - .NET
Microsoft .NET
摘要:昨天有客户反馈周末重启服务器后,几台服务器上的应用运行全部出错。大致错误内容如下: 通过查看异常堆栈,发现由Castle的DynamicProxy组件引起。在生成动态模块的情况下出现了上面的错误(Assembly._nDefineDynamicModule方法)。从错误内容来看很有可能是服务器的用户
阅读全文
摘要:由于$id、$ref等是默认Json.NET的特殊属性,在反序列化时不会将其对应的值填充,例如:[DataContract]public class MyObject{ [DataMember(Name = "$id")] public string Id { get; set; }}这...
阅读全文
摘要:NUnit的TestCaseAttribute可以简化大量的测试参数输入用例的编写,如果基于Visual Studio Unit Test Project开发则默认没有类似的功能,看一段对比代码:public class MyClass{ public Int32 DoWork(String ...
阅读全文
摘要:由于面向接口编程的关系,许多实现往往是动态注入运行,在一个项目中直接引用实现dll编译是不合理的。通常我们会在Post Build Event中添加一些xcopy命令将运行时才需要的dll复制到输出目录。在发布时会带来一些问题,比如:使用Visual Studio自带的Publish功能发布一个We...
阅读全文
摘要:当View上using一些从probing privatePath加载的程序集,运行时会提示无法找到对应程序集。 原因是由于DefaultControllerFactory内部使用BuildManager关系,除了以代码方式将probing privatePath下指定的程序集...
阅读全文
摘要:我安装了WSE 2.0 SP3,Setup Type选择Runtime。如果想要让Visual Studio 2005以上版本集成WSE需稍费周折,默认集成Visual Studio 2005。1、引用Microsoft.Web.Services2.dll。2、修改Visual Studio自动生成...
阅读全文
摘要:将FtpWebRequest的KeepAlive设置为true。return Return( new Uri(ftpPath + fileName), request => { ...
阅读全文
摘要:1、创建对应configuration的App.config文件,比如:App.Debug.config、App.Release.config。2、编辑项目文件,将App.*.config文件的Build Action修改为Content,参考如下: App.config ...
阅读全文
摘要:在调试时会发现出于性能考虑.NET Framework dll加载的都是ngen版本,比如:System.dll,实际加载System.ni.dll。如果希望加载非ngen版本,可以设置系统环境变量COMPLUS_ZapDisable=1。
阅读全文
摘要:由于JIT的优化在调试Release版本程序集往往没有足够的跟踪信息,比如查看clrstack发现PARAMETERS:= 状态。在程序运行目录下创建一个[程序集名称].ini文件,比如:MyLibrary.dll => MyLibrary.ini。[.NET Framework Debugging...
阅读全文
摘要:起因是发现一个同事编写的程序运行两个月左右,占用了服务器20G左右的内存。用WinDbg查看发现存在大量的Async Pinned Handles,而它们的gcroot都来自于SocketAsyncEventArgs。下面是场景的简易模拟代码(为了说明问题添加了手动GC):for (var i = ...
阅读全文
摘要:XmlSerializer的两个构造函数不会出现每次构造都创建TempAssembly的性能问题,其内部做了缓存。public XmlSerializer(Type type)public XmlSerializer(Type type, string defaultNamespace)
阅读全文
摘要:应用授权的请求地址格式,使用Fiddler2捕捉一次完整的授权操作就可以大致了解腾讯微博的登陆原理(重点在h_login_11.js)https://open.t.qq.com:443/cgi-bin/oauth2/authorize?client_id=[appKey]&redirect_uri=[callbackUrl]&response_type=code对于https的请求服务器证书回调验证我们都返回trueServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, c
阅读全文
摘要:去年我已写过一篇关于安装.NET Framework 4.5后特定场景Ajax POST的挂起问题 =>http://www.cnblogs.com/junchu25/archive/2012/10/28/2743205.html,今天补充一些非代码级别的解决方案。前几天用户反馈某个应用一定程度间隔点击无响应(在等待较长时间后恢复正常),页面较为简单Ext.NET的GridPanel + Store。分别在Windows 7 Ultimate、Windows Server 2008 R2 + IIS 7.5运行都存在该问题。首先在我们的Dev、Pub环境(Windows Server 2
阅读全文
摘要:EF使用版本File Version:4.4.20627.0、Product Version:5.0.0.net40,今天在其中一个测试环境(Windows Server 2008 R2、.NET Framework 4.0)发现执行一个查询会抛出如下异常信息(由于寄宿体的原因这个异常通过sos的!...
阅读全文
摘要:1、通过发送"stats items STAT items:0:number 0 \r\n"获取所有的slab,并从中解析出slabId。返回结果参考如下:STAT items:1:number 7STAT items:1:age 966591STAT items:1:evicted 0STAT items:1:outofmemory 0STAT items:2:number 32STAT items:2:age 1206400STAT items:2:evicted 0STAT items:2:outofmemory 02、上面的数字1、2就是所谓的slabId,通过发送
阅读全文
摘要:缺省参数(Optional Parameters)是编译器的一个语法糖,有时这种看似自然的调用会将类型设计引入一个误区。看一个例子:/// <summary>/// 响应消息/// </summary>public class ResponseMessage{ /// <summary> /// 构造函数 /// </summary> /// <param name="status">状态</param> /// <param name="message">消息</
阅读全文
摘要:客户反应一个应用没有规律性的错误,一旦异常发生后大部分功能无法再使用,除非重新启动应用程序池。异常内容大致如下:2282 Error 无法将[141]绑定到字段 ID(不能从System.Int32转换为System.Int32) |--对象与目标类型不匹配。查看callstack了解到该异常由OR mapping的组件引起,调用System.Reflection.PropertyInfo的SetValue抛出异常。MSDN描述导致TargetException的情况如下:The object does not match the target type, or a property i...
阅读全文
摘要:今天开发人员提交同一个程序的两个dump文件,运行环境Windows Server 2008 R2、.NET Framework 2.0。当使用WinDbg分析第二个文件时,加载sos执行命令提示如下:0:000> .load C:\Windows\Microsoft.NET\Framework64\v2.0.50727\sos.dll0:000> !clrstackFailed to find runtime DLL (mscorwks.dll), 0x80004005Extension commands need mscorwks.dll in order to have so
阅读全文
摘要:System.Xml.Serialization.XmlSerializer反序列化类型包含集合自动属性运行在.NET Framework 4.0下则会抛出如下异常信息:System.InvalidOperationException: Unable to generate a temporary class (result=1).error CS0200: Property or indexer 'SomeClass.CollectionProperty' cannot be assigned to — it is read only.出于对集合属性Classes的set保护
阅读全文