In Vorbereitung auf meine nächsten Windows 8 WinRT Beispiele, habe ich mir Fiddler installiert. Den gibt es nun auch in einer .net 4 Version. Das erspart eventuell die Installation eines älteren .NET Frameworks.
Mit Fiddler kann man per Umleitung des HTTP Traffic an einen Proxy ( eben Fiddler) den Verkehr auf der Leitung analysieren. Das wollte ich so z.B. mit der Wetter APP machen. Ist aber nicht. So wie es aussieht unterbindet Windows 8 für METRO APP’s den Zugriff auf localhost. Damit ist auch das Funktionsprinzip eines Debugging Proxys vorerst mal sabotiert. Das wird auch den ein oder anderen lokalen WCF oder RIA Service Nutzer noch schwer aufstoßen. Der Zugriff ist dann nicht möglich.
Für Fiddler hat der Autor Eric Lawrence freundlicherweise ein Werkzeug gebaut, mit dem man die Sandbox Isolation des Appcontainers der APP aufheben kann.
also einfach Haken bei Weather gesetzt, Fiddler starten und dann die METRO APP. Dann klappt's auch mit dem Netzwerk Scan. Die Funktion taucht dann auch im Fiddler unter Tools Win8 Loopback Excemptions auf.
Misstrauisch wie ich bin, schaue ich auch gerne mal genauer hin.
Ein bisschen viel oder? Der Grund lässt sich im Header auch schnell ermitteln
Keine Kompression, kein GZIP und Deflate. Unter uns, einen REST Service ohne Kompression zu betreiben, die üblicherweise rund 2/3 der Datenmenge einspart ist beinahe schon fahrlässig. In der Doku nach etwas nicht vorhanden zu suchen, gestaltet sich als einigermaßen schwierig. Aus meinen Tests hat sich ergeben das man die Header explizit angeben muss. Dann geht auch GZIP und Deflate HTTP Kompression in WinRT.
Dim http = New HttpClient(New HttpClientHandler() With
{.AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip})