How do you debug ASP.NET applications under IIS7 o

2020-06-22 02:37发布

问题:

There is a post on IIS.net titled "Using Visual Studio 2008 with IIS 7.0", but I don't quite believe that's what people do. (Among other gems, it suggests publishing your web app after every change.)

If you debug your ASP.NET applications in IIS7 instead of Cassini, I would love to hear your methods, tips, and tricks.

Edit: I'm referring specifically to local debugging.

回答1:

I simply attach Visual Studio to the IIS worker process, if you have multiple app pools then you can run "issapp" to get the appropriate PID.

I never debug by clicking "Start Debugging".

This has a nice advantage of working on remote servers as well, if you have installed msvcmon.



回答2:

I believe I pointed you toward that guide, but as I look closer at it I think that's a little more elaborate than what I do. I have done the following:

  1. Create a web site in IIS for your project.

  2. Add a custom host header to that site, for example http://mysite:*/ or http://mysite:80/

  3. Open the hosts file located at C:\Windows\system32\drivers\etc in notepad (Run As Admin if you're on Vista) and add the following line:

    mysite        127.0.0.1
    

    If you have more than one host header on your website in IIS, you need to have each one represented in the hosts file.

Now, when you press F5 in Visual Studio, the site will open with the url http://mysite and you'll be able to debug, set breakpoints etc as usual, except with no Cassini related problems... ;)

Edit: For clarification, I just want to point out that I have never had to attach any process to VS, as far as I know. At the very least I do not have to do it every time.



回答3:

Well, setting up IIS 7 for debugging isn't terribly tricky, but what I prefer to do to save time (and if I'm uninterested in debugging from a cold start) is to launch the Web Application/Web Site in a web browser first - let ASP.net precompile etc.

Then I'll attach to the IIS process using Visual Studio. Once attached I can go about setting breakpoints and debugging, I find this is a faster way to get going.



回答4:

I launch Visual Studio as an Administrator, then Debug > Attach to Process > w3wp.exe.