Avatar billede agerled Nybegynder
16. februar 2006 - 07:18 Der er 8 kommentarer

httpwebrequest 2.0

Hej.

Jeg brugte denne kode til at sende sms'er gennem en gateway i .net 1.1 , men nu når jeg bruger det i 2.0 går det ekstremt langsomt og systemet låser..??

    url = "http://server/?msg=" & HttpUtility.UrlEncode(Message.Replace(vbNewLine, vbLf), System.Text.Encoding.Default) & "&rec=" & ReceiveNumber & "&sapid=xxx&oadc=" & Sender & ""


        Try
            Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
            Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
            Dim stmrdr As StreamReader = New StreamReader(resp.GetResponseStream)
            Dim html = stmrdr.ReadToEnd
            stmrdr.Close()
            resp.Close()
        Catch exp As Exception
            MsgBox(exp.Message)
        End Try
Avatar billede nythjem Nybegynder
16. februar 2006 - 10:22 #1
Hej Agerled.

Nu er jeg jo ekstremt ny i det her sprog, men synes jeg har haft lignende problem stilling.

I din try åbner du op for dit objekt. Objektet prøver at sende sms´en. Hvis objektet ikke bliver åbnet korrekt, så lukker du jo faktisk ikke objektet igen.

Altså:

Catch
ditobjekt = Nothing
End Try

Jeg havde et lignende script, hvor jeg tjekkede om en givent websted var online / aktivt. Dér fastfrossede scriptet også, men at lukke objektet hjalp altså :)
Avatar billede agerled Nybegynder
16. februar 2006 - 10:48 #2
ok. Jeg kan lige se om det er det.

...men egentlig bliver min kode afviklet korrekt, det går bare meget langsom i forhold til hvad det gjorde i .net 1.1...?
Avatar billede nythjem Nybegynder
16. februar 2006 - 10:57 #3
Okay..

Som sagt er jeg ret ny, men udfører dit script egentlig ikke bare et kald til en given web adresse. Med andre ord, sender du egentlig ikke bare en string afsted til http://server, der så aktiverer et script og sender sms´en derfra?

I så fald det er det eneste job scriptet udfører har jeg et fint velfungerende eksempel..
Avatar billede agerled Nybegynder
16. februar 2006 - 11:00 #4
jo det er det eneste den gør. Jeg vil da gerne se dit eksempel..
Avatar billede nythjem Nybegynder
16. februar 2006 - 11:11 #5
Herligt..

Jeg bruger som sagt script selv til at kontrollere webstatus.

        url_to_send = "http://server/?msg=" & HttpUtility.UrlEncode(Message.Replace(vbNewLine, vbLf), System.Text.Encoding.Default) & "&rec=" & ReceiveNumber & "&sapid=xxx&oadc=" & Sender

        Dim objUrl As New System.Uri(url_to_send)

        ' Setup WebRequest
        Dim objWebReq As System.Net.WebRequest
        objWebReq = System.Net.WebRequest.Create(objUrl)
        Dim objResp As System.Net.WebResponse
        Try
            objResp = objWebReq.GetResponse
            objResp.Close()
            objWebReq = Nothing
        Catch ex As Exception
            objWebReq = Nothing
        End Try

Du kunne også lave den som en funktion..

    Public Function SendMessageToSms() As Boolean

        url_to_send = "http://server/?msg=" & HttpUtility.UrlEncode(Message.Replace(vbNewLine, vbLf), System.Text.Encoding.Default) & "&rec=" & ReceiveNumber & "&sapid=xxx&oadc=" & Sender

        Dim objUrl As New System.Uri(url_to_send)

        ' Setup WebRequest
        Dim objWebReq As System.Net.WebRequest
        objWebReq = System.Net.WebRequest.Create(objUrl)
        Dim objResp As System.Net.WebResponse
        Try
            objResp = objWebReq.GetResponse
            objResp.Close()
            objWebReq = Nothing
        Catch ex As Exception
            objWebReq = Nothing
        End Try

    End Function




If SendMessageToSms() = True Then
  MessageBox.Show("Beskeden blev sendt!")
Else
  MessageBox.Show("Besked blev ikke sendt")
End If
Avatar billede agerled Nybegynder
16. februar 2006 - 11:51 #6
Dit eksempel virker også, men systemet låser alligevel i 3 sekunder. Kan det virkelig ikke gøres bedre?
Avatar billede nythjem Nybegynder
16. februar 2006 - 12:12 #7
Hmm..

Det virker upåklageligt.. Måske skyldes det andre objekter du ikke lukker ordentligt?

Ellers må du jo vente til Mr. Olebole kommer forbi :)
Avatar billede agerled Nybegynder
16. februar 2006 - 12:34 #8
Ja. Ellers tak for hjælpen...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester