24. april 2006 - 22:45Der er
21 kommentarer og 1 løsning
runtime error fejl i asphttp
Jeg prøver at hente en side ind i asp.net VB med asphttp, men får denne fejl.
***FEJL*** Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
du kan gøre som der står vedr. web.config... så skulle du få en mere detaljeret fejlmeddelelse. mht. AspHTTP - hvorfor benytte du ikke de indbyggede klasser vi skrev om tidligere? mvh
well ... den kode du har der starter vel også med at hente det hele i det kald her: strResult = HttpObj.GetURL hvorefter der bare kigges på det der er hentet. mvh
***KODE*** <%@ Page Language="VB" Debug="True" ContentType="text/html" ResponseEncoding="iso-8859-1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>ASPHttp i .NET</title> </head> <body> <% HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.dbu.dk/sr/clubTeam.aspx?clubid=761"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); someLabel.Text = reader.ReadToEnd(); %> </body> </html> ********** **********
så får jeg flg. fejl. Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30451: Name 'HttpWebRequest' is not declared.
Source Error:
Line 8: <body> Line 9: <% Line 10: HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.dbu.dk/sr/clubTeam.aspx?clubid=761"); Line 11: HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Line 12: StreamReader reader = new StreamReader(response.GetResponseStream());
Ja som udgangspunkt, men hvorefter jeg gerne ville kunne tage det hentede og tage noget bestemt ud af det og vise det som min eks. i @ Kommentar: want2learn 24/04-2006 23:28:57
<script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim request As HttpWebRequest = CType(WebRequest.Create("http://www.google.com"), HttpWebRequest) Dim response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse) Dim reader As StreamReader = New StreamReader(Response.GetResponseStream()) someLabel.Text = reader.ReadToEnd() End Sub </script>
Jeg er lidt ny i ASP.NET og laver kun dette som en fritidsinteresse da jeg er fasineret af at man kan få ting til at arbejde på den måde som de gør så vil du ikke lige forklare hvad du mener med (hvorfor bruger du ikke en codebehind-model?)!?
Jeg har ændret lidt i koden og har 2 spm. 1. Hvorfor viser den ikke æøå når charset=iso-8859-1 !? 2. Hvis jeg KUN vil have vist rækkenavne og puljenr. hvordan kan jeg så fjerne alt andet nu !?
Nu har jeg kigget lidt på det med at trække noget ud men synes ikke at den kan og den kommer også med en Fejl ved ikke om det er pga. jeg gør det forkert eller at jeg skal have AS ind i mine ekstra linjer, håber lige du vil kigger på det, behøves ikke nu men evt senere på dagen ;)
***KODE*** <%@ Page Language="VB" Debug="True" ContentType="text/html" ResponseEncoding="iso-8859-1" %> <%@ Import Namespace="System.Text" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.IO" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim request As HttpWebRequest = CType(WebRequest.Create("http://www.dbu.dk/sr/clubTeam.aspx?clubid=761"), HttpWebRequest) Dim response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse) Dim reader As StreamReader = New StreamReader(response.GetResponseStream(),Encoding.GetEncoding("iso-8859-1"))
Dim start = instr(1,reader,"<!-- POSITION START -->") Dim slut = instr(1,reader,"<!-- POSITION END -->") Dim strSvar = mid(reader,Start,Slut-Start) someLabel.Text = strSvar.ReadToEnd() 'someLabel.Text = reader.ReadToEnd() End Sub </script> <html> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="content-language" content="dan" /> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:Label ID="someLabel" runat="server"></asp:Label> </form> </body> </html>
fejlen er Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30518: Overload resolution failed because no accessible 'InStr' can be called with these arguments:
Source Error:
Line 10: Dim reader As StreamReader = New StreamReader(response.GetResponseStream(),Encoding.GetEncoding("iso-8859-1")) Line 11: Line 12: Dim start = instr(1,reader,"<!-- POSITION START -->") Line 13: Dim slut = instr(1,reader,"<!-- POSITION END -->") Line 14: Dim strSvar = mid(reader,Start,Slut-Start)
c:\windows\system32\inetsrv> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\57a843df\ee5cf9e7\App_Web_q3tsm9bs.dll" /D:DEBUG=1 /debug+ /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Specialized,System.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\57a843df\ee5cf9e7\App_Web_q3tsm9bs.0.vb" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\57a843df\ee5cf9e7\App_Web_q3tsm9bs.1.vb"
Microsoft (R) Visual Basic Compiler version 8.0.50727.42 for Microsoft (R) .NET Framework version 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved.
d:\web\localuser\aeronet.dk\public_html\default.aspx(12) : warning BC42020: Variable declaration without an 'As' clause; type of Object assumed.
Dim start = instr(1,reader,"<!-- POSITION START -->") ~~~~~ d:\web\localuser\aeronet.dk\public_html\default.aspx(12) : error BC30518: Overload resolution failed because no accessible 'InStr' can be called with these arguments: 'Public Function InStr(Start As Integer, String1 As String, String2 As String, [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As Integer': Value of type 'System.IO.StreamReader' cannot be converted to 'String'. 'Public Function InStr(String1 As String, String2 As String, [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As Integer': Value of type 'System.IO.StreamReader' cannot be converted to 'String'.
Dim start = instr(1,reader,"<!-- POSITION START -->") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ d:\web\localuser\aeronet.dk\public_html\default.aspx(13) : warning BC42020: Variable declaration without an 'As' clause; type of Object assumed.
Dim slut = instr(1,reader,"<!-- POSITION END -->") ~~~~ d:\web\localuser\aeronet.dk\public_html\default.aspx(13) : error BC30518: Overload resolution failed because no accessible 'InStr' can be called with these arguments: 'Public Function InStr(Start As Integer, String1 As String, String2 As String, [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As Integer': Value of type 'System.IO.StreamReader' cannot be converted to 'String'. 'Public Function InStr(String1 As String, String2 As String, [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As Integer': Value of type 'System.IO.StreamReader' cannot be converted to 'String'.
Dim slut = instr(1,reader,"<!-- POSITION END -->") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ d:\web\localuser\aeronet.dk\public_html\default.aspx(14) : warning BC42020: Variable declaration without an 'As' clause; type of Object assumed.
Dim strSvar = mid(reader,Start,Slut-Start) ~~~~~~~ d:\web\localuser\aeronet.dk\public_html\default.aspx(14) : error BC30311: Value of type 'System.IO.StreamReader' cannot be converted to 'String'.
jo Dreamweaver 8 men den den hjælper kun med tags og evt. kodestumper når jeg evt. skriver response. så kommer den med en liste over hvad der kan komme efter "." det samme gælder for asp:calender osv. samt bøgerne: Visual Basic .NET Web Programming 21 Days fra: SAMS Teach Yourself.
ASP.NET By Example fra: QUE.
ASP.NET Step By Step fra: Microsoft.
og så en masse gode link fra jer brugerer på dette link men ang. dette emne så kan jeg ikke finde det store ang. at hente en del ud af et site som det jeg vil her, og håbede derfor på at nogle evt. kunne hjælpe (som I/Du gør nu) ang. et eks. som virker så jeg kunne se hvordan og ud fra det lave noget som virker. :) ;)
og kan godet se at den hjælper lidt mere når jeg indsætter noget ang. teksten osv. men synes kun den viser at der er fejl i min kode, hvordan kan jeg få den til at hjælpe ang. at hente ting ud i Request/Response !?
Fejlen programmet kommer med er: Error 1 Overload resolution failed because no accessible 'InStr' can be called with these arguments: 'Public Function InStr(Start As Integer, String1 As String, String2 As String, [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As Integer': Value of type 'System.IO.StreamReader' cannot be converted to 'String'. 'Public Function InStr(String1 As String, String2 As String, [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As Integer': Value of type 'System.IO.StreamReader' cannot be converted to 'String'. C:\Documents and Settings\Aeronet\Dokumenter\Visual Studio 2005\WebSites\WebSite1\Default.aspx 12 21 C:\...\WebSite1\
der var egentligt bare dette svar jeg ledte efter:
<script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim request As HttpWebRequest = CType(WebRequest.Create("http://www.dbu.dk/sr/clubTeam.aspx?clubid=761"), HttpWebRequest) Dim response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse) Dim reader As StreamReader = New StreamReader(response.GetResponseStream(),Encoding.GetEncoding("iso-8859-1"))
Dim input As String = reader.ReadToEnd() Dim StartToken As String = "<!-- CLUBTEAMS START -->" Dim EndToken As String = "<!-- CLUBTEAMS END -->" Dim ContentStartPosition As Integer = input.IndexOf(StartToken) + StartToken.Length Dim ContentEndPosition As Integer = input.IndexOf(EndToken) Dim Length As Integer = ContentEndPosition - ContentStartPosition Dim Content As String = input.Substring(ContentStartPosition, Length) someLabel.Text = Content End Sub </script>
Men tak alligevel.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.