Re: Recordset.Open Causes Lockup/Timeout
- From: "Bob Barrows [MVP]" <reb01501@xxxxxxxxxxxxxxx>
- Date: Mon, 28 Nov 2005 16:42:06 -0500
boxboy wrote:
> Hi,
>
> I was/am having a problem with a web hosting company (verio.com)
> running Windows Server 2003. The problem is as follows:
>
> The site I am working on (http://www.codebot.org) uses active server
> pages to loaded up various rss feeds and parse them into pretty
> response documents. This works great for server side xml requests
> when the request is outside of my domain, but when I make a request
> within my domain (to the same server), the request for the xml
> document timesout or locks the server.
>
> So:
>
> Client Browser requests Page "A"
> Page "A" will request Page "B"
> Page "B" builds and XML response and return it to Page "A"
> Page "A" returns the final response to the Client Browser
>
> You can see the result by visiting http://www.codebot.org "Most
> Popular Content" area
>
> Here a concise version how Page "A" works:
> /rss/test.asp on mydomain
>
> <%@ language="jscript" %>
> <%
> function getRss(url) {
> var xmlRequest = Server.CreateObject("Msxml2.ServerXMLHTTP");
> var document = Server.CreateObject("Microsoft.XMLDOM.1.0");
> var xml = "";
> xmlRequest.open("GET", url, false);
> xmlRequest.setRequestHeader("User-Agent",
> "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10)
> Gecko/20050716 Firefox/1.0.6");
> xmlRequest.setRequestHeader("Accept", "text/xml");
> xmlRequest.send();
> document.async = false;
> document.load(xmlRequest.responseBody);
> xml = document.xml;
> xmlRequest = null;
> document = null;
> return xml;
> }
>
> Response.ContentType = "text/xml";
> Response.Write(getRss("http://mydomain/rss/list.asp"));
> %>
>
> And Page "B":
> /rss/list.asp on mydomain
>
> <%@ language="jscript" %>
> <%
> var connection = Server.CreateObject("ADODB.Connection");
> connection.Open("DSN=blah");
> var recordset = Server.CreateObject("ADODB.Recordset");
> recordset.ActiveConnection = connection;
> recordset.Source = "select '<doc>Hello World</doc>' as [result]";
> recordset.Open();
> Response.Write(recordset.Fields("result").Value);
> recordset.Close();
> recordset = null;
> connection.Close();
> connection = null;
> %>
>
> Obviously there is more to the pages than above, but these scripts
> duplicate the problem.
I cannot reproduce this problem, but you may want to streamline your code a
little (for one thing, get rid of the DSN; for another, utilize the
responseXML object):
function getRss(url) {
var xmlRequest = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0");
var xml = "";
xmlRequest.open("GET", url, false);
xmlRequest.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U;
Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716;Firefox/1.0.6");
xmlRequest.setRequestHeader("Accept", "text/xml");
xmlRequest.send();
var document = xmlRequest.responseXML;
xml = document.xml;
xmlRequest = null;
document = null;
return xml;
}
<%@ language="jscript" %>
<%
var connection = Server.CreateObject("ADODB.Connection");
connection.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ Server.MapPath("thedatabase.mdb"));
var sql="select '<doc>Hello World</doc>' as [result]"
var recordset = connection.Execute(sql,null,1);
Response.ContentType = "text/xml";
Response.Write(recordset(0).Value);
recordset.Close();
recordset = null;
connection.Close();
connection = null;
%>
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
.
- Follow-Ups:
- Re: Recordset.Open Causes Lockup/Timeout
- From: boxboy
- Re: Recordset.Open Causes Lockup/Timeout
- References:
- Recordset.Open Causes Lockup/Timeout
- From: boxboy
- Recordset.Open Causes Lockup/Timeout
- Prev by Date: Using ADOX to create and modify MySQL database
- Next by Date: Q: about returned records from MDB
- Previous by thread: Recordset.Open Causes Lockup/Timeout
- Next by thread: Re: Recordset.Open Causes Lockup/Timeout
- Index(es):
Relevant Pages
|