in

ASP.NET Weblogs

This Blog

Syndication

ASP.NET Chinese Blogs

Browse by Tags

All Tags » 网站开发管理相关内容 » .net 编程心得 (RSS)
  • 应用程序池 与 W3WP.exe 进程的对应关系

    摘要:       阅读本博客前,建议阅读我前一篇博客:IIS5、IIS6、IIS7的ASP.net 请求处理过程比较  这样知识会比较连贯。        对于 IIS6、IIS7,  每个应用程序池都会创建一个 W3WP.exe 进程。  但是, 并不是所有情况都是一个应用程序池对应一个 W3WP.exe 进程。 Web Garden , 或者一些异常发生时...[ 阅读全文 ] Read More...
  • UTF-8 BOM导致的无法正常模拟Http请求

    摘要:本文概述 StreamWriter 在产生UTF-8编码的内容时候,会在产生的这个UTF-8内容中增加BOM的信息,而这个BOM的信息,会干扰我们在一些情况的使用。 本文描述的情况,就是这种干扰让我们无法正常工作的一种情况。   何为BOM? BOM(Byte Order Mark),BOM签名。 BOM的内容就可以表示unicode文件是何种编码。BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别。 对于UTF-8 , BOM 信息为 EF BB BF。 我们...[ 阅读全文 ] Read More...
  • WEB Service 传递信息时候,会把 /r/n 变成 /n

    摘要:我们在使用WEB Service时,需要注意的一点是,传递过程中会丢失一些字符,比较典型的是 /r/n 中 /r 回车字符会被丢弃。这是XML规范所导致的问题。XML规范关于这部分的描述如下: 2.11 行尾处理 为编辑的方便起见,存储XML已析实体的计算机文件经常用行来组织。通常这些行用回车符(#xD)和换行符(#xA)的一些组合来分隔。 为了使应用的工作简单化,对于一个外部已析实体或内部已析实体的常量实体值中包含的任何两字符常量序列"#xD#xA"或单独的常量#xD,X...[ 阅读全文 ] Read More...
  • 如何用.net Remoting实现一个客户端需要连接多个服务器端?

    摘要: 比如我们有下面的需求: 三台电脑:A,B,C。 我们在 B 和 C 上部署了同样的一个服务,电脑 A 需要根据客户端的选择,自动的切换到底是调用B的服务,还是C的服务。 要实现这个需求,核心就在客户端的调用上。下面我们用一个简单的演示这个功能的代码来说明如何实现。   首先:服务器段 服务器段逻辑,这是非常简单的,我们按照之前的.net编写规范,编写代码即可。熟悉.net Remoting 的完全可以跳过这部分。 下面是一段简单的服务器段逻辑代码 using System...[ 阅读全文 ] Read More...
  • InternalServerError时 HttpWebRequest 的 GetResponse 方法处理策略

    摘要:现象 我们编码实现请求一个页面时,请求的代码类似如下代码:HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.UserAgent = "MSIE6.0";req.Method = "GET";HttpWebResponse res = (HttpWebResponse)req.GetResponse();StreamReader sr = new StreamReader(res.GetResponseStream(), ...[ 阅读全文 ] Read More...
  • 使用 StackTrace 获得更多跟 Exception 有关的信息

    不知你有没有留意过ASP.net的异常,如下图: 请留意图中用红笔标的地方。那些数字标明出错处位于源代码文件的多少行。 但是,我们通过 Exception.StackTrace 是获得不了这个信息的。这个信息是如何获得呢?这就要用到下面两个类: System.Diagnostics.StackTrace 表示一个堆栈跟踪,它是一个或多个堆栈帧的有序集合。 System.Diagnostics.StackFrame 表示当前线程的调用堆栈中的一个函数调用 下面的代码就替我们扑捉了更多关于异常的信息: public static string EnhancedStackTrace(Exception ex) { return EnhancedStackTrace( new StackTrace(ex, true )); } public static string EnhancedStackTrace(StackTrace st) { StringBuilder sb = new StringBuilder(); sb.Append(Environment.NewLine); sb.Append(" ---- Stack Trace ---- "); sb.Append(Environment.NewLine); for ( int i = 0; i < st.FrameCount; i++) { StackFrame sf = st.GetFrame(i); MemberInfo mi = sf.GetMethod(); sb.Append(StackFrameToString(sf)); } sb.Append(Environment.NewLine...
More Posts