Solved

ASP Pages on Windows Server 2008 IIL 7 performing slow and timing out

Posted on 2010-09-17
15
846 Views
Last Modified: 2012-05-10
I am new to the ASP world, a client as an older site done in ASP that needs some updating and some tweaking, I made a copy of the site on my server for development/testing. I'm running Windows Server 2008 with IIS 7, I was able to get the ASP setup I Think, but am running into some issues.
The pages are performing so slow they seem to time out,  but I get a error page from the site about the site being down for maintenance, not the server (does that make sense?).

When using VWS 2010 to debug, I get:
Server Error in '/wwwroot' Application.
--------------------------------------------------------------------------------

This type of page is not served.
Description: The type of page you have requested is not served because it has been explicitly forbidden.  The extension '.asp' may be incorrect.   Please review the URL below and make sure that it is spelled correctly.

Requested URL: /wwwroot/eShop/10Org.asp


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1


Since the site calls several ASP pages before this one, I find it hard to believe the ASP extension is blocked completely?

Im not sure if there is a step i've missed while setting up the ASP server options or something, but to be honest, I've never worked with IIS and ASP before, I'm more a PHP/MySQL guy and use hosted servers. I don't know what information is needed to get help, so please let me know what you need. I looked at the log files in the INETPUB folder and saw nothing that seemed relevant.

Thanks for the help and patience with this!

0
Comment
Question by:musickmann
  • 8
  • 5
15 Comments
 
LVL 9

Expert Comment

by:TonyReba
Comment Utility
Make sure IIS is installed with all the ASP features.
Once that's done, reboot.

Now, go into the IIS Manager and create a new Application Pool.

Name it whatever, but choose No Managed Code in the first drop down
and for Pipeline, choose Classic and start App Pool immediately.
0
 
LVL 9

Expert Comment

by:TonyReba
Comment Utility
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
Thanks for the comment.

I'm noticing that the problem occurs when i try to login to the app. After a couple basic asp pages go by and I click the login button is when things stall out. It's using an access database. Are there any settings on IIS dealing with access that need adjusting?
0
 
LVL 9

Expert Comment

by:TonyReba
Comment Utility
You sure is nothing wrong with your connection string
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
I assume that it's fine because I basically just copied all the files from the web server to my server, but the more I look through everything the more I realize how unfamiliar with this system I am. It's all written in VBasic.

I did find the connection strings, this is an implementation of the eShop program by the way, in case that helps. From what I can tell it looks okay.
I can't seem to find any logs either. Would the database be locked somehow or something? Since the login page includes dropdown lists that are being pulled from the database, can I assume that at least one connection to the database is being made?

If it would help to look at it, the site is at serendipity.gotdns.com, if you look at the student login page and try to chose:
State: FL
City: Sanford
School: Serendipity

The time out page is generated by the site with a generic site is down type thihng


0
 
LVL 9

Expert Comment

by:TonyReba
Comment Utility
Since the login page includes dropdown lists that are being pulled from the database, can I assume that at least one connection to the database is being made?

correct

can you please post this part of your  code
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
Here is the Login.asp page that is called, is this what you need?

<%
' Copyright (C) 1998-2006 CyberStrong Internet Services, Inc. All Rights Reserved
'
' This file has been seeded with unique information at point of sale and
' is traceable to its purchaser.
'
' Your license agreement forbids the removal of this notice.

%>

<!-- #include file="../lib/organizations.asp" -->

<%
'
'

Dim CustomerID, rs, rsCustomers, FormErrorMsg, SQL, iPass, ButtonPress
Dim blnDirectorLogin, OrganizationId, strShipCity, strShipStateOrProvince, strSchoolName
Dim SQLShipStateOrProvince, SQLShipCity, SQLSchoolName
Dim strUsername, strPassword, strEmailAddress
Dim OrganizationEmail, OrganizationUsername, OrganizationPassword 
Dim Body

blnDirectorLogin = CBool(Request.Querystring("director"))
' response.write(blnDirectorLogin)

' GetField - Get field value if customer is in data base. Otherwise
' use the value presently on the form. For the first pass at this form
' these values will be null.

Public Function GetFieldData(ByVal FieldName, ByVal DemoValue)
	Select Case True
		Case (gblDemoMode AND iPass = 1)               : GetFieldData = DemoValue
		Case IsObject(rs)                              : GetFieldData = GetDatabaseValue(FieldName)
		Case (Request.Form("Login" & FieldName) <> "") : GetFieldData = stripHTML(Request.Form("Login" & FieldName))
		Case Else                                      : GetFieldData = stripHTML(Request.Form(FieldName))
	End Select
End Function



' Main() - Main entry point...

Public Sub Main()
	Dim FormFieldName
	
	Form.Init()
'	Form.SetDefault "PriceFrom",   "0"
'	Form.SetDefault "PriceTo",     "99999"
'	Form.SetDefault "SearchMode",  "Any"
'	Form.SetDefault "ResultsPage", "10"
'	Form.Validate   "PriceFrom",  FormMatchPattern, "^[0-9.,]*$", "Please use numbers only in the 'Price From' box."
'	Form.Validate   "PriceTo",    FormMatchPattern, "^[0-9.,]*$", "Please use numbers only in the 'Price To' box."
	Form.DefaultStyle = "class=styGenFieldUserInput"
	
	If (FormMsg.Count("Fatal") > 0) Then
		Exit Sub
	End If
	
	SQLShipStateOrProvince    = OrganizationsGetSelectionSQL("ShipStateOrProvince")
	SQLShipCity   	 	= OrganizationsGetSelectionSQL("ShipCity")
	SQLSchoolName    	= OrganizationsGetSelectionSQL("SchoolName")
		
	Set Conn = dbOpen("rwl")
	
	Select Case LCase(GetFormAction())
		Case ""
			' Initial load, no action required.
			
		Case "loginstudent"
		'	OurSession("10Search-Category")  
			strShipStateOrProvince							= Form.GetSelectBox("ShipStateOrProvince")
			strShipCity										= Form.GetSelectBox("ShipCity")
			strSchoolName									= Form.GetSelectBox("SchoolName")
			
			Call RetrieveOrganizationInfo("StudentLogin", strShipStateorProvince, strShipCity, strSchoolName) 
			If (FormMsg.Count("Fatal") > 0) Then
				Exit Sub
			End If
			Session(sesOrganizationId) = OrganizationId
			Response.Redirect("/eShop/10Org.asp")

		Case "logindirector"
			strUsername									= Form.GetSelectBox("Username")
			strPassword									= Form.GetSelectBox("Password")
			Call RetrieveOrganizationInfo("DirectorLogin", strUsername, strPassword, "") 
			If (FormMsg.Count("Fatal") > 0) Then
				Exit Sub
			End If
			'Session(sesDirLoginOK) = True
			Session(sesOrganizationId) = OrganizationId
			Session("SchoolName") = strSchoolName
			Response.Redirect("/eShop/10Dir.asp")

		Case "lostlogin"
			strEmailAddress									= Form.GetSelectBox("EmailAddress")
			
			Call RetrieveOrganizationInfo("LostLogin", strEmailAddress, "", "") 
			If (FormMsg.Count("Fatal") > 0) Then
				Exit Sub
			End If
			Body = "Username: " & OrganizationUsername & vbCrLf
			Body = Body & "Password: " & OrganizationPassword
			SendMail cstFromEmailAddress, OrganizationEmail, "MyBandStuff Password Recovery", Body
			'Response.Redirect("10Org.asp?OrganizationId=" & OrganizationId)
			Call FormMsg("Fatal", "Thank you!  Your login and password information will be emailed to you shortly.")

			If (FormMsg.Count("Fatal") > 0) Then
				Exit Sub
			End If
		Case Else
			wl("Unknown Form Action: " & GetFormAction())


	End Select
End Sub

' OrganizationsGetSelectionSQL() - Get selection SQL for use in drop down menus...

Private Function OrganizationsGetSelectionSQL(ByVal argFieldName)
	Dim addSQL
	
	Set addSQL = New clsWS : addSQL.TrimOnWrite = False ' Use string writer class...
	
	addSQL "SELECT DISTINCT " & argFieldName & " FROM Organizations "
	addSQL "WHERE " & argFieldName & " IS NOT NULL AND "
	addSQL "Active <> 'No' AND "
	addSQL "(1 = 1) "
	addSQL "ORDER BY " & argFieldName
	OrganizationsGetSelectionSQL = addSQL.GetS()

End Function

Call Main()
%>

<form METHOD=POST NAME=frmMain ACTION='main.asp<%=IIF(blnDirectorLogin,"?director=true","")%>'>
<table CELLPADDING=0 CELLSPACING=0 WIDTH=560 ALIGN=<%=cstPagePosition%>><TR><TD>
<%=FormMsg.GetMsgs("Fatal")%>
</TD>
</TR>
<TR><td height='16'>&nbsp;</td></TR>
<tr><td>
<table CELLPADDING=3 CELLSPACING=0 WIDTH=560 BORDER=0>
<tr>
  <td colspan=2 align="center"><%If blnDirectorLogin Then %><img src="/Chrome/grey_title_bar_directors.jpg" width="306" height="39" /><% Else %><img src="/Chrome/grey_title_bar_student.jpg" width="306" height="39" /><%End if%></td>
</tr>
</table>
<table CELLPADDING=0 CELLSPACING=0 WIDTH=560 BORDER=0>
<tr><td COLSPAN=2 CLASS=styTabBackColor><IMG SRC='images/SpaceRow.gif' HEIGHT=6></td></tr>
<%If blnDirectorLogin Then%><tr>
<td colspan="2" align='center' CLASS=styTabBackColor><span class="styDirectorLogin">You are about to enter the mybandstuff.com
administrative section where you will be able to view your student's orders.</span>  </td>
</tr>
<tr>
<td height="16" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" colspan="2" align='center' nowrap CLASS=styTabBackColor>
<span class="styDirectorLogin">ADMINISTRATOR SIGN IN</span>
</td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" align='right' nowrap CLASS=styTabBackColor>
<span class="styDirectorLogin">User Name:&nbsp;</span></td>
<td height="8" align='left' nowrap CLASS=styTabBackColor><%=Form.DisplayTextBox("Username", 24, 24, "")%></td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" align='right' nowrap CLASS=styTabBackColor>
<span class="styDirectorLogin">Password:&nbsp;</span></td>
<td height="8" align='left' nowrap CLASS=styTabBackColor><%=Form.DisplayTextBox("Password", 24, 24, "password")%></td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<%Else%><tr>
<td align='right' nowrap CLASS=styTabBackColor><span class="styGenFieldTag">My State :&nbsp;</span></td>
<td align='left' nowrap CLASS=styTabBackColor><%=Form.DisplaySelectBox("ShipStateOrProvince", SQLShipStateOrProvince, "Select State")%></td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" align='right' nowrap CLASS=styTabBackColor>
<span class="styGenFieldTag">My City:&nbsp;</span></td>
<td height="8" align='left' nowrap CLASS=styTabBackColor><%=Form.DisplaySelectBox("ShipCity", SQLShipCity, "Select City")%></td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" align='right' nowrap CLASS=styTabBackColor>
<span class="styGenFieldTag">My School :&nbsp;</span></td>
<td height="8" align='left' nowrap CLASS=styTabBackColor><%=Form.DisplaySelectBox("SchoolName", SQLSchoolName, "Select School")%></td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr><%End If%>
<tr>
<td height="16" colspan="2" align='center' nowrap CLASS=styTabBackColor>
<% If blnDirectorLogin Then %>
<input type='image' src='/eShop/custom/images/SignIn.gif' name='btnLoginDirector' align='absbottom' alt='Log In' border=0>
<% Else %>
<input type='image' src='/eShop/custom/images/SignIn.gif' name='btnLoginStudent' align='absbottom' alt='Log In' border=0>
<% End If%></td></tr>
<tr>
<td CLASS=styTabBackColor width='43%' nowrap align='right' height="32"></td>
<td CLASS=styTabBackColor width='57%' height="32"></td>
</tr>
<% If blnDirectorLogin Then %>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" colspan="2" align='center' nowrap CLASS=styTabBackColor>
<span class="styDirectorOops">Oops, I forgot my username and/or password.<br />
(Your information will be sent to your email address within 1 business day.</span>
</td>
</tr>
<tr>
<td height="8" colspan="2" align='right' nowrap CLASS=styTabBackColor></td>
</tr>
<tr>
<td height="8" align='right' nowrap CLASS=styTabBackColor>
<span class="styDirectorLogin">Email Address:&nbsp;</span></td>
<td height="8" align='left' nowrap CLASS=styTabBackColor><%=Form.DisplayTextBox("EmailAddress", 32, 32, "")%><input type='image' src='/eShop/custom/images/Send.gif' name='btnLostLogin' alt='Retrieve Login' border=0></td>
</tr>
<%End If%>
</table>
<%If blnDirectorLogin Then%><table CELLPADDING=3 CELLSPACING=0 WIDTH=560 BORDER=0>
<tr>
  <td colspan=2 align="center">&nbsp;</td>
</tr>
<tr>
  <td colspan=2 align="center"><!--<img src="Chrome/grey_title_bar_directors.jpg" width="306" height="39" />--></td>
</tr>
</table>
<table CELLPADDING=0 CELLSPACING=0 WIDTH=560 BORDER=0>
<tr><td COLSPAN=3 CLASS=styTabBackColor><IMG SRC='images/SpaceRow.gif' HEIGHT=6></td></tr>
<tr>
<!--<td CLASS=styTabBackColor width='1%' nowrap align='right'><span class="styGenFieldTag"><a href="default.asp?director=true"><img src="Chrome/directors_sign_in_on.jpg" alt="Director's Sign In" width="172" height="100" border="0" /></a></span></td>-->
<td></td>
<td CLASS=styTabBackColor width='1%' nowrap align='center'><span class="styGenFieldTag"><a href="sample-and-presentation-in.html"><img src="Chrome/check_out_how_it_works_on.jpg" alt="How it works" width="172" height="100" border="0" /></a></span></td>
<td CLASS=styTabBackColor width='98%'><span class="styGenFieldTag"><a href="eshop/30BandCst.asp"><img src="Chrome/sign_me_up_on.jpg" alt="Sign me up" width="172" height="100" border="0"/></a></span></td></tr>
<tr>
<td CLASS=styTabBackColor width='1%' nowrap align='right' height="8">
</td>
<td CLASS=styTabBackColor width='98%' height="8">
</td>
</tr>
</table><%End If%>
</td></tr></table>
</form>


<%dbClose(Conn)%>

Open in new window

0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 9

Accepted Solution

by:
TonyReba earned 500 total points
Comment Utility
That seems to be right,  

two things, you can check.

1st

check your connections string file , this should be a regular .asp page  with something like
Set conSQL = Server.CreateObject("ADODB.Connection")
      ConnStr = MM_sqlConn1_STRING
      conSQL.ConnectionString = ConnStr
      conSQL.open
.
.
.
.

2nd

Check that all your asp pages have included  the connection string you need.
E.g.

<!-- #include File="include/connection.asp" -->
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
Thanks. The connection string appears in several files, and there are a lot of includes going on to trace through. I will work through those suggestions though.

I'm also looking at issues with accessing the database..starting with this article:
http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/

There seems to be many issues with running classic asp applications on server 2008/IIS7 boxes. Looks like I have much to work through on this one yet...but for now I'm going to sleep.

I just need to be able to get the server working so I have a place to test out the development tweaks I need to make, I can work through learning what I need in Vbasic to accomplish some tweaks, but I need a working test environment...

After some sleep I'll take a fresh approach tomorrow...Thanks for the help thus far, I think I've made some progress here.
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
It appears as though it was due to permissions on the database. I changed the permissions to be modify for the IIS users on the entire eShop (it's the Cyberstrong eShop program) folder and it is working.

Although...it is PAINFULLY slow, taking 1-2 or more minutes for the pages to respond.

Again, this is a development machine, so performance technically isn't the end of the world, but I would like to figure out where the bottle neck is and get it running smoothly.
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
I would like to close this question awarding the points to TonyReba, his comments were very helpful, the actual issue was beyond the scope of the forum.
0
 
LVL 68

Expert Comment

by:Qlemo
Comment Utility
If the comments helped in isolating the issue, it makes sense to assign points. In that case post a comment, but press OBJECT instead of SUBMIT. You will then be able to close the question yourself. But please remember - EE does not honour effort, but solutions. What is retained in the knowledgebase should be usable troubleshooting tips or solutions.

In future, please don't leave a question without action for 4 months. It is your task to care about your questions - as Cleanup Volunteer I'm not getting anything out of this. Just to give you a figure - at the moment we have almost 30'000 (!) questions which have no comment for at least 21 days, and hence are considered to be abandoned - all needing attention by one of a few Cleanup Volunteers.

Qlemo
Cleanup Volunteer
0
 
LVL 2

Author Comment

by:musickmann
Comment Utility
I do apologize for that. I did not mean to leave the question unattended.

On a side note..I'd be willing to do some cleanup volunteering as well
0
 
LVL 2

Author Closing Comment

by:musickmann
Comment Utility
The actual solution was outside the scope of the forum, but your comments were very helpful in narrowing down the issue.

Thank you.
0

Featured Post

Do email signature updates give you a headache?

Constantly trying to correctly format email signatures? Spending all of your time at every user’s desk to make updates? Want high-quality HTML signatures on all devices, including on mobiles and Macs? Then, let Exclaimer solve all your email signature problems today!

Join & Write a Comment

Suggested Solutions

Redirected folders in a windows domain can be quite useful for a number of reasons, one of them being that with redirected application data, you can give users more seamless experience when logging into different workstations.  For example, if a use…
The recent Microsoft changes on update philosophy for Windows pre-10 and their impact on existing WSUS implementations.
This tutorial will walk an individual through the steps necessary to install and configure the Windows Server Backup Utility. Directly connect an external storage device such as a USB drive, or CD\DVD burner: If the device is a USB drive, ensure i…
This tutorial will show how to configure a single USB drive with a separate folder for each day of the week. This will allow each of the backups to be kept separate preventing the previous day’s backup from being overwritten. The USB drive must be s…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now