<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_EW</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/30166/rss</id><updated>2012-01-12T06:03:24Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/30166/rss"/><entry><id>http://www.cnblogs.com/kingclever/archive/2011/09/11/2173608.html</id><title type="text">如何调试ASP.NET MVC 源代码</title><summary type="text">今天准备通过调试ASP.NET MVC源码看看MVC的运行机制，没想到碰到点儿问题，用了点时间把问题解决了，顺便记录一下进行调试的整个过程，希望对碰到同样问题的同学有些帮助。1.首先下载ASP.NET MVC的源代码，下载地址http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=22079。2.下载解压后，用VS打开ASP.NET MVC框架的解决方案，如下图： 然后打开AssemblyInfo.cs文件，将其中的 [assembly: AssemblyVersion(&amp;quot;2.0.0.0&amp;quot</summary><published>2011-09-11T04:33:00Z</published><updated>2011-09-11T04:33:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2011/09/11/2173608.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2011/09/11/2173608.html"/><content type="html">&lt;p&gt;今天准备通过调试ASP.NET MVC源码看看MVC的运行机制，没想到碰到点儿问题，用了点时间把问题解决了，顺便记录一下进行调试的整个过程，希望对碰到同样问题的同学有些帮助。&lt;/p&gt;&lt;p&gt;1.首先下载ASP.NET MVC的源代码，下载地址&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=22079"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=22079&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;2.下载解压后，用VS打开ASP.NET MVC框架的解决方案，如下图：&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/kingclever/1.png" width="375" height="313" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;然后打开AssemblyInfo.cs文件，将其中的 &lt;span style="color: rgb(255, 0, 0);"&gt;[assembly: AssemblyVersion("2.0.0.0")]&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;改为 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span&gt;[assembly: AssemblyVersion("2.0.0.1")]&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;，选择生成类型为Debug，生成解决方案。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3.任意新建一个ASP.NET MVC项目(我用的名称是MvcApplication1)，移除System.Web.Mvc的引用。将在第二步由ASP.NET MVC源码生成的System.Web.Mvc.dll复制到MvcApplication1项目中的任一位置(可以在项目根目录中新建一个REFERENCE文件夹，然后将DLL复制到些文件夹下，方便管理)，在MvcApplication1添加对该System.Web.Mvc.dll的引用。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;4.打开MvcApplication1根目下的Web.Config，找到与System.Web.Mvc DLL配置相关的的配置项做如下更改：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/kingclever/2.png" width="816" height="150" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/kingclever/3.png" width="580" height="134" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;font color="#ff0000"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;打开Views目录下的Web.Config文件，更改如下配置项:&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;font color="#ff0000"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/kingclever/4.png" width="1049" height="321" /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;font color="#ff0000"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;5.生成并启动MvcApplication1项目，然后确保此时MvcApplication1不处于调试状态（使用调试启动项目后，停止MvcApplication1的调试，这时我们可以直接通过URL进行访问）。转到打开ASP.NET MVC项目的VS，点击菜单项 调试-&amp;gt;附加到进程，在弹出的进程选择框中选择MvcApplicatioin1启动的WebDev进程，点击确定附加进程。在ASP.NET MVC项目中的MvcHandler.cs文件中找到BeginProcessRequest方法，并在方法开始位置打上断点，然后再访问MvcApplication1的页面时，该断点会被激活，此时我们就可以使用F11进行单布调试ASP.NET MVC基础框架了，如下图：&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;font color="#ff0000"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/kingclever/5.png" width="906" height="371" /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/kingclever/aggbug/2173608.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kingclever/archive/2011/09/11/2173608.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2008/01/10/1033187.html</id><title type="text">在AJAX中使用POST方法(本文纯属转载)</title><summary type="text"/><published>2008-01-10T02:56:00Z</published><updated>2008-01-10T02:56:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2008/01/10/1033187.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2008/01/10/1033187.html"/></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2007/12/28/1018779.html</id><title type="text">在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的原因</title><summary type="text"/><published>2007-12-28T09:06:00Z</published><updated>2007-12-28T09:06:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2007/12/28/1018779.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2007/12/28/1018779.html"/></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2007/12/13/993152.html</id><title type="text">Web Farm And Web Garden</title><summary type="text"/><published>2007-12-13T02:02:00Z</published><updated>2007-12-13T02:02:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2007/12/13/993152.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2007/12/13/993152.html"/></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2007/11/30/977845.html</id><title type="text">MSDN也出错！！！！！</title><summary type="text"/><published>2007-11-30T01:41:00Z</published><updated>2007-11-30T01:41:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2007/11/30/977845.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2007/11/30/977845.html"/></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2007/11/23/969538.html</id><title type="text">.net中的FORM机制</title><summary type="text"/><published>2007-11-23T01:52:00Z</published><updated>2007-11-23T01:52:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2007/11/23/969538.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2007/11/23/969538.html"/></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2007/11/22/968860.html</id><title type="text">在服务器端从HTML控件中获取数据</title><summary type="text"/><published>2007-11-22T09:15:00Z</published><updated>2007-11-22T09:15:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2007/11/22/968860.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2007/11/22/968860.html"/></entry><entry><id>http://www.cnblogs.com/kingclever/archive/2007/11/12/kingclever.html</id><title type="text">googleStyle</title><summary type="text"/><published>2007-11-12T01:09:00Z</published><updated>2007-11-12T01:09:00Z</updated><author><name>Eugene Wang</name><uri>http://www.cnblogs.com/kingclever/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kingclever/archive/2007/11/12/kingclever.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kingclever/archive/2007/11/12/kingclever.html"/></entry></feed>
