如何在 Web 应用程序中调试 Initialize()

发布于 2024-12-20 18:20:16 字数 164 浏览 0 评论 0 原文

我正在尝试创建一个在应用程序初始化时调用的方法,但创建 Web 应用程序时除外,您只能通过将其附加到 IIS 进程(w3wp.exe)来调试它。

问题是该进程仅在初始化应用程序后创建,这使得在调用该方法之前无法将 Visual Studio 调试器附加到该进程。

有人有解决方案吗?

I'm trying to create a method that is called when the application is initialized, except when creating a web application, you can only debug it by attaching it to the IIS process (w3wp.exe).

The problem is that this process is only created after initializing the application, which make it impossible to attach the Visual studio debugger to it before calling that method.

Anyone has a solution for this??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荒路情人 2024-12-27 18:20:16

您可以使用 Visual Studio 附带的 Cassini Web 服务器。在项目的 Web 设置中,您应该选择用户 Visual Studio 开发服务器。这将允许您通过按 F5 来调试应用程序。

如果您确实需要在 IIS 内部进行调试,您可以通过调用 Initialize 方法中中断/system.diagnostics.debugger.break.aspx" rel="nofollow">Debugger.Break。如果您安装了调试器,您将可以选择附加调试器。

如果您有一个非常笨重且难以调试的应用程序(除了将其重构为更易于管理和测试的部分之外),您可以通过日志记录来检测您的代码。这将使您即使在生产环境中也能对应用程序进行故障排除。 .NET 内置了对日志记录的支持,并且还存在一些可供您使用的优秀开源框架。

You can use the Cassini web server that is included with Visual Studio. In the Web settings for your project you should select User Visual Studio Development Server. This will allow you to debug your application by pressing F5.

If you really need to debug inside IIS you can force a debugger break in your Initialize method by doing a call to Debugger.Break. If you have a debuger installed you will get the option to attach a debugger.

If you a have a very unwieldly application that is hard to debug (besides refactoring it into more managable and testable parts) you can instrument your code with logging. This will allow you to troubleshoot your application even in a production environment. .NET has built-in support for logging and there also exists several good open source frameworks that you can use.

会傲 2024-12-27 18:20:16

将您的项目设置为使用 IIS 而不是 ASP 开发服务器,并创建一个指向您的 UI 开发目录的默认 Web 虚拟目录。这可以通过 Visual Studio 中的项目属性轻松完成。

以调试形式构建,然后您可以从 IIS 浏览 Web 或输入项目的 Web 目录。

您需要向 IIS 注册 ASP:

在命令窗口中,导航到“C:\Windows\microsoft.net\framework\v2.0.50727”,其中 C 是启动驱动器。

然后运行“ASPNET_REGIIS -i”,将 ASP.NET 注册到 IIS

,然后运行“ASPNET_REGIIS -ga ASPNET”,授予 IIS 对 ASP.NET 的访问权限

Set your project to use IIS instead of ASP dev server and create a default web virtual directory that points to your UI dev directories. This is easily done from project properties within Visual Studio.

Build in debug form and then you can either browse your web from IIS or by typing the web directory for the project.

You'll need to register ASP with IIS:

In command window, navigate to "C:\Windows\microsoft.net\framework\v2.0.50727" where C is your boot drive.

then run "ASPNET_REGIIS -i" this register ASP.NET with IIS

and then "ASPNET_REGIIS -ga ASPNET" this grants IIS access rights to ASP.NET

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文