Unable to Start Debugging on the WebServer - c#

While creating the website I choose Location as HTTP and then provided http://172.24.17.188/myProject and it created the project happily.
And I was able to run the project too. But once I have closes the VS2008 and reopened the project , I am getting the following error while trying to run the website.
Edit:
I am able to browse the website by manually typing in browser but unable to run or debug usinh VS2008.

If the website is running on IIS on the same machine then you can attach the debugger to the IIS process. You do this by click on "Debug" then "Attach to process...". Sort the processes in descending order and find the process named "w3wp.exe". Then click the "Attach" button. If you don't see the process then view the site in a browser to allow IIS to start the process.
If the website is running on a different server then you can do the same but you need to run the remote debugging tool (MSVSMON). This means you will need to have Visual Studio installed on the webserver. Run MSVSMON and be sure the firewall doesn't block the connection. Now you click "Debug" then "Attach to process...". Enter the server name that was displaed on MSMON's debug window in the qualifier textbox. If everything is setup properly you will see the remote servers process list. Then you can connect to the "w3wp.exe" process.
These are two ways to debug web applications using Visual Studios and IIS.

Do the following changes in your IIS settings
Make sure that IIS is configured to use Integrated Windows Authentication
Make sure that HTTP Keep Alives are enabled.

Related

VS2013: Run an executable after debug has started

I am trying to run a specific Web Project in a way to receive requests from an external application.
So when pressing F5 it starts the current Web project in visual studio with debugging but waits from the other site for web calls.
The problem is that for the other web site to work i have to launch several other sites, with services, resources, auth server etc. Some are not part of the solution - which means I cannot use "Always launch when debugging".
For that I have the executable that you can see grayed out in the "Start external program" section. The "IISExpressRunner". This program will also open the site that will access this one after everything is setup.
My problem is that I currently need to run that manually every time I start debugging because both options cannot be selected at the same time - which of course does not make sense since it can debug only one thing.
I can debug the WebSite via the IISExpressRunner application alone, however that has the implication that I need to run VS in Administrator mode, since the app requests UAC to be able to disable IIS to run IISExpress on port 80 - specific for domain alias and authentication server redirects for Google and Facebook logins - to be able to run it locally in the dev environment.
So is there a way to have Visual Studio debug the current project and automatically after debug has started to also execute this external application without debugging it?
A workaround I could think of is that you could call the bat file before you debugging the app using code "Debugger.IsAttached()".
Run batch script before Debugging
There is a manual process you can use. During running a debugging session, right-click the project you want to also start debugging, go to the Debug submenu, and click Start New Instance.

IIS8 Won't update web site

I have a web site being hosted on a Windows Server 2012 using IIS8. I had modified some code and uploaded it to the server and then restarted the website. The problem is, the old code is executing!
I have:
Restarted the IIS Server
Rebooting Windows Server 2012
Disabled Output Caching for the site.
Disabled Output Caching for the entire server
Removed and readded the website.
I even opened the code file in notepad on the server and confirmed that it IS the new code. The old code, to my knowledge, doesn't exist on the server! What am I missing?
You may want to try attaching the visual studio debugger to the instance of IIS and see if you can hit some breakpoints in the old/new code.
To Do this in visual studio.
Click "Debug" from the menu bar
Click "Attach to Process"
Check the "Show processes from all users" checkbox in the bottom left corner
Select aspnet_wp.exe from the process list
Click "Attach"
If the code does not match between the code in visual studio and the code, you will not be able to set a breakpoint. However, if the code is the same, you will be able to attach and breakpoint and follow the flow of the execution.
Also, have you checked if the DLL's are deployed to the GAC (Global Assembly Cache)? If a .dll exists in both locations on the windows box the application will always pull the version that is in the GAC.

Visual Studio 2008 Development Server not starting

I have a C# web service that I am trying to debug in Visual Studio 2008, and when I try to run it, Internet Explorer pops-up as expected, but it just displays 'waiting for response from localhost...' in the status bar. I have left it running for a few minutes and it never responds.
I have other web services that I am able to debug fine, is VS2005 and 2008. The problem web service is impersonating a different identity in the web.config file, but I have no problems with this same user on a different web service (in VS2005).
Does anybody have any ideas on what might be preventing it from starting up? Interestingly, a colleague has the same problem with a web service that IS working on my machine, even though we are working with identical code. Something must be configured differently...
By the way, I've noticed that the 'Temporary ASP.NET Files' folder is missing from both
C:\Windows\Microsoft.NET\Framework and C:\Windows\Microsoft.NET\Framework64... I certainly haven't deleted them, and other web services debug okay, so is this just a red herring?
We are also on a domain which has its own firewall (outside of the developers' control) - could this be blocking it?
EDIT: I have just removed the user impersonation for a quick test, and it worked. So there must be something about Visual Studio 2008 that does not want to run when impersonating THIS particular user. Any ideas what configuration I would need to change to correct this?
I have had the same issues with impersonation; I don't know if Cassini (the built-in VS web server) supports this properly. About the best advice I can give is to either use Local IIS with an app pool running as your impersonated user or to attach your debugger using remote debugging to a remote IIS server.
I believe using Local IIS will attach correctly & automatically if configured as much in the Web tab of Project Properties. You'll have to run VS as an admin to get the virtual directories setup automatically by VS in IIS.

Visual Studio 2010 is not allowing me to debug my code

So, this interesting issue has been plaguing me for the past couple of hours. Visual Studio 2010 Ultimate no longer attaches the debugger and lets me debug my code.
If I use the built in development server, then everything works fine. If I switch to Use Local IIS Web Server (http://localhost/), then all it does it attach to w3wp.exe, but no DLLs or PDBs are loaded for anything. I can go to Debug > Windows > Modules, and literally nothing is loaded in this window. Conversely, when using the built in development server, the Modules window displays all the DLLs and shows that the symbols for my DLLs have been loaded. Something is obviously amiss. The VS installation is completely bone stock.
In IIS, my website is configured with ASP.NET 2.0 (because no 3.5 exists to select from the drop down), along with read / log visits / index this resource options checked on the "Home Directory" tab.
Some of my failed ideas:
1) If I attach to process on the iexplore.exe instance where the website is displayed, it loads Internet Explorer's DLLs, but not mine.
2) I've restarted the computer multiple times
3) I've invoked devenv.exe /resetuserdata once
4) I've confirmed that every project is indeed set to debug and not release.
5) Deleted all \bin contents and rebuilt the solution.
6) Deleted entire solution and repulled from Source Control.
Can someone tell me what is wrong with this thing? I'm going to have an aneurism from the headache this is causing me.
You need to attach it to the IIS worker process, which OS are you using? Make sure you attach with the Managed + Native flags, in the Attach to Process. What happens if you just run (F5) your web application inside Visual Studio (that automatically attaches a debugger)? Do you get any errors?
Well there are quite a few good answers here, but I have found that the root cause of the issue for me was application pool authentication configuration. Let me lay out the scenario that I experienced and the solution and perhaps it will help someone save time....and hair.
Scenario:
I want to debug an ASP.NET web application in Visual Studio 2010 but cannot use the built-in Visual Studio web server. The reason that I could not use the built-in web server is that my application referenced assemblies built specifically for a 64-bit architecture and the VS web server would not support these. So, I had to use the option "Use Custom Web Server" in the website properties to point the debugger at a published instance of my site on a remote IIS web server.
Issue:
Even with the web.config debug options set correctly to publish debug symbols in the assembly output (i.e. compilation debug="true"), the debugger would not attach to the remote IIS process and I did not hit any breakpoints
Environment:
The Visual Studio 2010 debugger was already installed on the remote IIS web server and was running as a Windows service under the LocalSystem account.
Solution:
Enable "Anonymous Authentication" in addition to "Windows Authentication" on the web site hosted on the IIS web server.
As soon as I enabled anonymous authentication, the correct symbols were loaded by the VS remote debugger and I was able to hit the breakpoints.
Hope this helps you guys out.
Have you tried deleting the browser cache? Sometimes the browser hangs on to old code which is incompatible with the current build and thereby prevents debugging.
Does it run the app - without the debugger attached? It smells like you are attaching the debugger to a wrong process
I've had an issue before where under the build configuration screen some projects are unticked for a particular solution configuration, causing them to not build and therefore not be debuggable. Can you confirm whether or not code changes you make are actually being built and executed?
Also, what version of Windows and IIS are you running? Is it possible that your process is running under an AppPool with an account that's different to the account you're logged in with and perhaps it's a permissions problem? If it's Vista/Win7, is UAC turned on and are you running VS as administrator? I'll also second the suggestion to try a fresh project and see what that does. Are you in the debugger users local group on the machine?

Attach Debugger to IIS instance

I have IIS 5.1 on a XP machine, and visual studio 2005. How do I go about attaching my debugger to IIS instance.
BTW: I'm not seeing the IIS process within the running processes or probably I don't know what to look for .
In Visual Studio:
Click "Debug" from the menu bar
Click "Attach to Process"
Check the "Show processes from all users" checkbox in the bottom left corner
Select aspnet_wp.exe, w3p.exe, or w3wp.exe from the process list
Click "Attach"
Just to clarify Jimmie R. Houts answer…
If you want to debug the web application VS and IIS you can do the following:
Host the site inside IIS (virtual directory etc).
Then in VS2005 do this:
Right Click on Web Project → Properties →
Start options → Use Custom Server → Base URL → Enter Site Address as
Hosted in IIS.
Hit F5 and you will be able to Debug your code
Same works for VS 2008 also.
I'm running Windows 7 with IIS Version 7.5 and I also needed to tick the "Show processes from all users" and "Show processes in all sessions" boxes - at the bottom of the "Attach to Process" dialog.
Also I had put my app in a specific App Pool which means you can then see it labeled against the w3wp.exe.
The possible names of the ASP.NET process:
w3wp.exe is IIS 6.0 and later.
aspnet_wp.exe is earlier versions of IIS.
iisexpress.exe is IISExpress.
dotnet.exe is ASP.NET Core.
inetinfo.exe is older ASP applications running in-process.
From Find the name of the ASP.NET process
The IIS process is aspnet_wp.exe.
In fact, attaching to the aspnet_wp.exe process is what VS does when you have your project set to use IIS for debugging.
You'll also need to open Internet Information Service From Control Panel > Administrative Tools. Right click the web site in question, click the home directory tab, and select the configuration button. This will open a new form with three tabs - click the debugging one and select the two options in the debugging flag section. This is also necessary to debug.
Using an Attach to IIS plugin (VS2015, VS2017) plugin saves a few clicks - especially when dealing with an ecosystem of IIS hosted sites (one frontend with multiple backend services say)
If you see the process [e.g. IIS Worker Process (w3wp.exe)] running is Task Manager, but not in the list of processes in debug > attach to process, you might need to run Visual Studio as administrator.

Categories

Resources