geen internet

Status
Niet open voor verdere reacties.

garrox

Gebruiker
Lid geworden
27 nov 2010
Berichten
44
hallo,

ik voer mijn visual studio 2008 uit vanuit vmware.
nu heb ik een aaplicatie geschreven dat op een bepaald ogenblik een httpwebrequest uitvoerd, samen met de response en streamreader. geen probleem
code is succesvol.

maar als ik nu de voltooide applicatie over zet naar mn host os (de os die mn vmware host). dan krijg ik de foutmelding --> kan geen verbinding met de externe server maken.
dit is mijn code (die dus wel binnen vs2008 werkt, en ook als los bestand op die os).

Code:
            Dim s As String = String.Empty
        Try
            Dim request As System.Net.HttpWebRequest =  System.Net.HttpWebRequest.Create(DownLocation)
            request.AllowAutoRedirect = True
            request.KeepAlive = False
            request.Timeout = 1000 * 30
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
            request.PreAuthenticate = True
            request.Credentials = CredentialCache.DefaultCredentials
            request.Method = "GET"
            request.ProtocolVersion = HttpVersion.Version10

            Dim response As System.Net.HttpWebResponse = request.GetResponse()
            Using reader As StreamReader = New StreamReader(response.GetResponseStream())
                s = reader.ReadToEnd()
            End Using
            response.Close()
        Catch ex As Exception
            MsgBox("FAIL: " & ex.Message, MsgBoxStyle.Critical, "GRX NamePain - Error")
        End Try

Deze code heb later nog toegevoegd in de hioop het te solven (zou volgens msdn moeten helpen)

Code:
ServicePointManager.UseNagleAlgorithm = True
        ServicePointManager.Expect100Continue = True
        ServicePointManager.CheckCertificateRevocationList = True
        ServicePointManager.DefaultConnectionLimit = _
        ServicePointManager.DefaultPersistentConnectionLimit


        Dim IsAvalible As String = My.Computer.Network.IsAvailable

        MsgBox("network availability = " & IsAvalible)

iemand een idee?
 
Wordt je programma niet gewoon geblocked door de firewall op je host?
 
daar dacht ik ook aan, maar ik heb helemaal geen firewall, en mn host zit in een dmz op mn router.
en buiten dat, mn applicatie werkt wel gewoon goed in mn vmware client.
 
en buiten dat, mn applicatie werkt wel gewoon goed in mn vmware client.

Dat wil dus niets zeggen, want de hele VM environment wordt door de host meestal behandeld als 1 applicatie. Als die dus wel toegang heeft door de FW kan een programma dus wel werken in de VM, maar niet als aparte applicatie daarbuiten.

De host draait de juiste gepatchte versie van dot-net ? Wat geeft de output van:

MsgBox("network availability = " & IsAvalible)

not available?
 
MsgBox("network availability = " & IsAvalible)

not available?

msgbox komt met de melding "TRUE"

De host draait de juiste gepatchte versie van dot-net ? Wat geeft de output van:

de host draait dotnet 1.0 t/m 3.5
en daarbij als dat niet goed zou zijn zou dat er toch uit moeten komen bij de installatie van mn app (aangezien deze targeted = voor 3.0)?

*update*:
net het hele project omgezet naar framework 2.0, omdat ik toch geen functies/spaces gebruik van hoger dan 2.0.
probleem blijft zoals verwacht wel hetzelfde.
 
Laatst bewerkt:
Ik zie geen echte duidelijke fout in de code en ik verwachte ook dat je "true" zou krijgen. Je maakt gebruikt van een opgeslagen login. Is die ook nodig? Indien "ja" is die opgeslagen login ook beschikbaar en ingesteld op de host?
 
je bedoelt de defaultcredentials.. nee die heb ik niet nodig, eigenlijk heb ik dit hele onderstaande blok erbij gezet om zo mogelijk het probleem op te lossen. het hele blok hieronder is dus niet perse nodig

Code:
request.AllowAutoRedirect = True
            request.KeepAlive = False
            request.Timeout = 1000 * 30
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
            request.PreAuthenticate = True
            request.Credentials = CredentialCache.DefaultCredentials
            request.Method = "GET"
            request.ProtocolVersion = HttpVersion.Version10

request.method = "GET" is trouwens ook al een "POST" geweest.
 
Ik neem aan dat je geverifieerd hebt met een andere website? heb je de code ook al eens geisoleerd in een progje gestopt en nog eens geprobeerd?

Ik kan me niet losmaken van het idee dat er iets is in de omgeving dat het veroorzaakt. De code levert bij mij iig geen problemen op.

wat zegt response.IsFromCache ?
 
Laatst bewerkt:
Ik neem aan dat je geverifieerd hebt met een andere website?
ja, ik heb deze code uit het msdn hun komt het probleem bekend voor en dit is DE oplossing. maar dat blijkt helaas niet zo te zijn.

heb je de code ook al eens geisoleerd in een progje gestopt en nog eens geprobeerd?
het gekke is, is dat ik deze code rechtstreeks uit een van mn eerdere projecten geknipt heb, en in dat project werkt t wel gewoon. ik had al de gedachte om de code nog eens in een aparte testapp te zetten, denk dat ik dat nu ook even ga doen, thnx voor de tips. ik kom hier zo op trug :)

wat zegt response.IsFromCache ?

hoe zet ik dat neer ?
 
Laatst bewerkt:
Code:
Dim response As System.Net.HttpWebResponse = request.GetResponse()
msgbox (response.IsFromCache); //of iets dergelijks heb mijn environment niet op mijn mobiel
Using reader As StreamReader = New StreamReader(response.GetResponseStream())

als je programma het namelijk van de locale schijf haalt werkt het in je VM mogelijk ook niet :P Ik vermoed van niet, maar misschien even testen

Met verificatie bedoelde ik eigenlijk: geprobeerd een andere website op te halen (zoals google.com). ook hier weer om andere zaken uit te sluiten
 
het resultaat van jou test (isfromcache) = false
ik heb idd ook andere websites geprobeerd, zelfde resultaat.

ook heb ik nu de code geisoleerd in een nieuw projectje geplakt. en in vs2008 werkt het goed. exe project gedeployed en in vmware client getest (daar bevind zich ook vs2008... is mijn programeer VM). werkte wederom ook goed. deployment naar mn host gekopieerd en weer dezelfde error "kan geen verbinding met externe server maken"

het heeft dus echt iets met mijn host te maken.
ik heb al op verschillende manieren proberen duidelijk te maken dat ik geen proxy gebruike door:
request.Proxy.IsBypassed(New Uri("http://www.mijndomein.com"))

ik ben echt ten einde raad. er moet iets zijn waardoor mn applicatie niet naar buiten kan.

*update*:
aangezien ik 2 netwerk kaarten in mn pc heb, en 1 daarvan geen stekker inzit, heb ik die netwerkkaart in windows device manager uitgeschakelt. helaas ook geen solve.
 
Laatst bewerkt:
OMG... ik heb de oplossing gevonden.

ik gebruik al jaren firefox, en ik heb windows-internet-explorer via windows-software verwijderd.
nu had ik al een paar dagen geleden op een website gelezen dat je applicaties de proxy instellingen van je browser kopieert. nu heb ik deze al 5x nagekeken op firefox, zonder resultaat.

nu heb ik met regeditor de oude proxy instellingen van internet explorer opgespoort, en hier stond ingesteld dat er WEL een proxy gebruikt moest worden, maar niks ingevuld.

waarde UseProxy veranderd naar "0" en het probleem was opgelost.
de hele keymap van internet explorer verwijderd en applicatie werkt ook nog steeds.

grrr... zelfs als je internet explorer verwijderd hebt van je systeem blijf je er nog last van houden.

maar ben blij dat dit hele euvel opgelost is..
al baart het me wel zorgen dat mijn applicatie vermoedlijk ook niet draait bij anderen die hetzelfde gedaan hebben als ik.
anyway, heel erg bedankt wampier, door jou ben ik toch scherp gebleven en je hebt me de goeie hoek ingestuurd.. thnx
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan