Classic ASP on IIS 7 - iis-7

I am having problems with my app running on IIS 7. The application is a mixture of classic ASP and ASP.NET MVC (don't ask how and why).
Anyway, the application is up and running except for some problems that I am experiencing. For example, I have a button on my page and when I click it, javascript is opening a popup which needs to contain .asp page. But that doesn't happen. I get the blank popup with my cursor on busy as it still loads. This is happening almost always to me in IE. In Firefox it is much better but sometimes the app jams there too.
If I close the opened, blank popup, and I want to move around the application, my buttons in menu (which are also .asp) doesn't load properly. For example, I have different buttons for different sections and when I move around they should change. When I restart the browser, only then everything works normal for some time, but the problem occurs again after a while.
I am very sure that it is not the problem in application itself, because it works properly on the machines of my colleagues without those problems. They have the same OS (Vista Professional) and we compared the settings in IIS and they match.
So I am very confused, and I really don't know how to solve the problem. I found a bunch of articles and blog posts about classic ASP and IIS7 but most of them are about enabling asp, which I already did.
So I am suspecting that something wrong with IIS, but I don't know what, tried to reinstall it, hoping for some improvement, but I had no luck.
If you need more details please ask.
Does anyone have any idea what should I try or do?

When debugging ASP.NET or ASP apart from the VS itself the most important tool you need is Fiddler (free tool from MS). This allows you to observe the http sessions the occur between your server and the client. This tool will give much greater visibility on what is actually happening underneath.
Next Step
So you now know that the problem is server side and the URL of the resource causing the problem. The next step is to debug the server side process by attaching to the w3wp.exe that is serving your site. If the resource specified by the URL is an ASP paged attach for script debugging or if its ASP.NET attach for Managed Code debugging. (Note for ASP debugging you will need to enable ASP server side debugging in the ASP settings in IIS manager).
You should place a break point on the first entry point of code for the resource. Now you can step through the code and discover where it is locking up.

Related

Unable to debug some aspx pages in ASP application

I have a classic ASP website running on IIS. I opened it with VS 2015 (Open website in File menu) and saved the solution (when opening it it said this is a precompiled website - whatever that means). Then I attached to process to debug it.
Now, the breakpoints I placed are hit on some of the .aspx pages, and not on others. Any idea why this might be the case? I checked the webconfig and it has debug option set to true. Probably some PDB files are missing. People suggest to rebuild the website, but when I click build or rebuild solution, the process completes immediately with success, so I doubt anything was recompiled at all.
I can modify the code of those pages and the IIS recompiles them on the next request, but not sure why the breakpoints don't get hit there. They obviously are once I put something like Debugger.Launch() in my code, but it's not what I want.
I'm no expert so I'd be grateful if you could help me out with this.
Precompiled website means it improves performance on some ASP.NET websites. It can be used to optimize static sites. We explore strategies for other types of sites. This speeds up the first access to pages in your site. And if you want the faster option for the site once deployed, please consider "site precompilation." Let's assume your site is high-volume, popular and important. It is important that the site respond instantly when a customer visits.
Hope this is helpful.

Web page becomes unresponsive after several posts

I am fairly new to IIS.
Hello, I am experiencing a very strange error once I publish my ASP.NET webpage onto IIS. The page functions fine while browsing, which makes several SQL calls for the menus and information on the site. This works fine both while debugging and when it goes live.
My problem is that after the user has made a couple of POSTs to update information in the live version, the page becomes unresponsive, or shows extremely high latency and returns nothing of the SQL requests that it was supposed to call. What could be causing this error?
The issue was that the server administrator forgot to give an application pool to the site. Hopefully this will help other people.

Web application in IIS not picking up the correct root

I don't know if I'm doing something very obvious incorrectly, but for some reason my web app thinks that it's root folder is different to what it actually is.
I have created a web application below Default Web Site. Whenever I have done this in the past, and understanding of how it's supposed to work, is that any requests to the application root (for URL routing, for example ~/index.aspx or for images) have always resolved to [server][applicationname]\index.aspx.
For some reason, whenever I do this with this particular application, instead of going to [server][applicationname]\index.aspx, I'm being redirected to [server]\index.aspx, and for the life of me, and after extensive googling and fiddling with settings, I can't get it to pick up the correct path.
Any suggestions?
When you go to your site in II7, first make sure your site is highlighted. Then click Basic Settings on the right hand side. Double check the Physical Path in the popup window.
Well, I don't know what the problem was, but after restarting the website it seemed to go away and is now working as expected. It's possible that it was caused by the application previously being a web site, and then I converted it to a web app without restarting it, although I did recycle the app pool.
Cheers for the comments - I'll leave this as the answer in case someone has a similar problem in future.

My VB.NET Website Hangs For A Long Time Then Displays Nothing

Okay, this is a weird issue that I've been having with a recent project I'm undertaking.
Occasionally, my website will stop functioning and anytime an ASP page is accessed, the browser will hang for many minutes before bringing up a correctly formatted HTML page with nothing in the tag. It seems to happen whenever more than one person attempts to access an ASP page, but I'm not positive it's isolated to those conditions.
Let me emphasize that the issue does not arise when accessing directories/HTML pages/other files. Only ASP pages are the problem. I am using lunarpages as a host.
My question is: Does anyone have any prior experience with such an issue, and if so, what are some ways to mitigate it?
Thanks in advance - let me know if I can provide any more pertinent information.
It sounds like it may be an issue with your Web Server. Do you have the correct version of .Net installed? Is your Web Server setup to host Asp.Net?

Authentication dialog when running with Visual Studio web server

When using Visual Studio's built in web server, every time I make a page request the standard login box pops up and asks for credentials. It doesn't work if I actually put in my credentials, so I just have to hit cancel 5 times so it will go away.
When I run the application through IIS (locally or on test server) it works just fine (no login box comes up).
Anyone know how to fix this or have any idea what might be causing it?
I assume you mean JavaScript alert box-looking login dialog, right? This dialog pops up when you make a request to a portion of website where anonymous access is disabled from IIS. It is different from ASP.NET authentication.
Do you have some portion of web site protected? Or are you making any HTTP request to external sites, like images and etc?
If your page looks ok after hitting cancel multiple times, it must be one of those HTTP request to protected file like images, css, js or whatever.
I'd look in Fiddler or Firebug to see if any request is failed when you hit cancel in that login dialog.
I'd also try clearing cache/authenticated session on the page that runs on IIS to see if it actually shows you that login dialog.
I had this same issue. However, my solution was different and the issue seemed different as well.
I had been working on a ASP.NET 2.0 web application, using VS 2008. Everything was working fine with the built-in IIS server. I hadn't opened this project for about a week and then when I chose "View in browser" in VS, I was prompted for my windows login creds. This project never did this before, so I was a bit baffled. I checked all the web.config settings and everything seemed fine. My project settings seemed correct as well. I decided to test the project by opening this same project in VS on a separate dev box on my network using a network path. I again chose "View in browser" and it worked fine. No logon prompt.
This told me that the issue wasn't with the actual web project itself, rather my dev environment. I checked all my browser settings as suggested above, and they were correct. I then compared my project settings while I had the same project (same physical files) opened in both dev boxes. I noticed a difference...
Under the Start Option in the Property Pages, the Web Server was set to use the Default Web server in both cases. However, on the box that was asking for my creds, the NTLM Authentication checkbox was selected. I unselected this and it resolved the issue.
I'm not sure how this was possible since I was opening the same project files, and would assume the project settings would be exactly the same. And the fact it was working fine a week ago really perplexed me. I chalked it up to an issue with VS 2008 on the box with the issue. I hope this helps anyone else that may be running into this issue.
This was because localhost was not in my trusted sites so it wouldn't do automatic NTLM authentication... I'm not sure why it was that way, but it was... adding localhost to the list fixed it.
In your project, there should be a vwd.webinfo file.
The following lines control authentication when debugging (in IISExpress). Set as follows to avoid all dialogs.
<VisualWebDeveloper>
<iisExpressSettings anonymousAuthentication="enabled" windowsAuthentication="disabled" useClassicPipelineMode="false"/>
</VisualWebDeveloper>
If windowsAuthentication="enabled" you may still get a dialog, even if anonymousAuthentication="enabled" :-)

Resources