我正在尝试创建一个在初始化应用程序时调用的方法,除非在创建Web应用程序时,您只能通过将其附加到IIS进程(w3wp.exe)来调试它。
问题是此过程仅在初始化应用程序后创建,这使得在调用该方法之前无法将Visual Studio调试器附加到它。
任何人都有解决方案?
答案 0 :(得分:3)
您可以使用Visual Studio附带的Cassini Web服务器。在项目的Web设置中,您应选择用户Visual Studio开发服务器。这将允许您通过按 F5 调整应用程序。
如果您确实需要在IIS内部进行调试,可以通过调用Debugger.Break
强制调试器在Initialize
方法中断。如果安装了debuger,您将可以选择附加调试器。
如果您有一个非常难以调试的应用程序(除了将其重构为更易于管理和可测试的部分),您可以使用日志记录来检测代码。这样,即使在生产环境中也可以对应用程序进行故障排除。 .NET内置了对日志记录的支持,并且还有一些很好的开源框架可以使用。
答案 1 :(得分:0)
将项目设置为使用IIS而不是ASP dev服务器,并创建指向UI开发目录的默认Web虚拟目录。这可以通过Visual Studio中的项目属性轻松完成。
以调试形式构建,然后您可以从IIS浏览Web或键入项目的Web目录。
您需要在IIS中注册ASP:
在命令窗口中,导航到“ C:\ Windows \ microsoft.net \ framework \ v2.0.50727 ”,其中C是您的启动驱动器。
然后运行“ ASPNET_REGIIS -i ”这个用IIS注册ASP.NET
然后“ ASPNET_REGIIS -ga ASPNET ”这授予ASP.NET的IIS访问权限