2010-07-22 9 views
6

Ich habe vor kurzem begonnen, die aktualisierten Beta-Tools für Windows Phone 7 zu verwenden und stieß auf ein interessantes Problem. Es scheint, dass bei Ausführung von Fiddler alle HTTP-Anforderungen, die durch den Emulator laufen, ein Null-Ergebnis zurückgeben und eine Web-Ausnahme "nicht gefunden" erstellen. Dies ist mit WebClient.DownloadStringAsync() einfach zu reproduzieren. Die alten Versionen des Emulators haben mit Fiddler funktioniert, wenn ich mich richtig erinnere. Hat jemand Glück gehabt, dass die beiden zusammen arbeiten? Wenn es nicht möglich ist, wäre ich offen für jedes andere Tool, das beim Debuggen von Webanforderungen vom WP7-Emulator helfen könnte.Verwenden von Fiddler zum Debuggen des Windows Phone 7-Emulators

+1

Hallo James, Es scheint, dieses Problem mit der Beta eingeführt wurde. Eine Entschließung ist noch nicht erschienen. Ref: http: //social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/387eeafa-7dd2-4d64-8974-200b0da3f13f ... nicht ohne einige Verwirrung obwohl: (... ref: http: //social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/ed07aaba-5bbe-4cc7-b008-67fa87a83ace –

+0

Dank Trees - sieht aus wie es ein Problem mit dem Emulator ist .. –

+0

James, bitte @me wenn Sie finden eine Problemumgehung. Ich werde das gleiche tun. –

Antwort

2

Es sieht so aus, als gäbe es eine blog post that describes getting fiddler working with Win Phone 7 durch einige benutzerdefinierte Regeln für die Einrichtung Fiddler as a Reverse Proxy. Hier

sind ein wenig von den Anweisungen von der Fiedler-Website, aber die Blog-Post scheint ein wenig klarer (sorry für verrückt Format, der Block Zitat kooperiert nicht):

Option # 1: Konfigurieren Fiddler als Reverse-Proxy-Fiddler kann konfiguriert werden, so dass jeder Verkehr gesendet an http://127.0.0.1:8888 automatisch an einen anderen Anschluss auf der gleichen Maschine gesendet wird. So legen Sie diese Konfiguration:

Starten Sie Regedit Erstellen Sie einen neuen DWORD ReverseProxyForPort innerhalb HKCU \ SOFTWARE \ Microsoft \ Fiddler namens

Setzen Sie den DWORD an den lokalen Port Sie möchten eine neue Route eingehenden Datenverkehr (in der Regel Port 80 für einen Standard-HTTP-Server ) Restart Fiddler Navigieren Sie Browser http://127.0.0.1:8888

Option # 2: schreiben Sie eine FiddlerScript Regel Alternativ können Sie eine Regel schreiben , die das Gleiche macht.

Angenommen, Sie betreiben eine Website auf Port 80 einer Maschine namens WEBSERVER. Sie stellen eine Verbindung mit der Website her, indem Sie Internet Explorer Mobile Edition auf einem Windows SmartPhone-Gerät verwenden, für das Sie den Web-Proxy nicht konfigurieren können . Sie möchten den Verkehr von das Telefon und die Antwort des Servers erfassen.

Starten Sie Fiddler auf dem WEBSERVER Computer, der auf dem Standardport von 8888 ausgeführt wird. Klicken Sie auf Extras | Fiddler Optionen, und stellen Sie sicher, dass das Kontrollkästchen "Erlaube Remote-Verbindung Clients" ist aktiviert. Bei Bedarf neu starten. Wählen Sie Regeln | Regeln anpassen Im Inneren des OnBeforeRequest Handler, fügen Sie eine neue Codezeile: wenn (oSession.host.toLowerCase() == "Webserver: 8888") oSession.host = "Webserver: 80"; Navigieren Sie auf dem SmartPhone zu http://webserver:8888 Anforderungen von dem SmartPhone wird in Fiddler angezeigt. Die Anfragen sind weitergeleitet von Port 8888 zu Port 80 wo der Webserver läuft.Die Antworten werden wieder durch Fiddler zum SmartPhone geschickt, die keine Ahnung hat, dass der Inhalt ursprünglich kam von Port 80.

+0

Sieht aus, als die nächste Lösung zu sein, obwohl es einige Einschränkungen gibt. –

+0

Link ist jetzt unterbrochen –

1

Ich bin nicht in der Lage, Fiddler den Verkehr zu überwachen, so verwende ich WireShark, die gut funktioniert.

+0

Yep! Fiddler funktioniert nicht mit dem Windows Phone 8-Emulator. – SandRock

Verwandte Themen