What a PITA trying to observe my DevForce Silverlight application running in Cassini using Fiddler2. Thanks to John Papa I’ve got that working now.
Here’s the situation:
- DevForce communicates using WCF SOAP service
- I’m running both the client and the service in Cassini, not IIS
- Tried all the recommended configurations (see below)
The problem is the WCF SOAP service. There is no issue with REST.
What Finally Worked
Can’t make it work with IE at all. Haven’t found anyone who knows how.
But I can make it work with FireFox … and I am fine with running in Firefox. Here ya go:
- Install Firefox (duh)
- In fiddler: Tools / Fiddler Options / General / disable IPv6 [may not be necessary]
- In fiddler: Tools / Fiddler Options / Connections. Click “Copy Browser Proxy Configuration URL” … which puts the right phrase in your clipboard
- In Firefox: Tools / Options / Network / Settings. Click “Automatic proxy” radio button which enables the text box. Paste script address from your clipboard.
On Vista/Win 7, the address looks like
- Remember to “OK” your way out of the dialogs (yes, I forgot this and hit cancel)
- Close Firefox
- Re-launch Firefox
- Re-launch Fiddler
- Confirm Firefox browser actions show up in Fiddler
- Launch your app
- Paste app address into Firefox
What Works If I Change Requirements
You can deploy the server to IIS and point the Silverlight Client at it. That’s fine … but I didn’t want to bother with that. Just want Cassini to do it all.
You can use Nikhil’s excellent IE plug-in, Web Development Helper. This works too. You enable it from the IE menu: View / Explorer Bars / Web Development Helper. But I was looking for a Fiddler solution.
What Doesn’t Work
Don’t have VPN running. The minute I’m running my VPN, Fiddler stops listening to all IE traffic, even regular browser traffic (no problem for Firefox though). I’m sure there is a way around this. I don’t know what it is … and at the moment it is just easier to shut down my VPN.
Many kind people offered suggestions … all of which failed me one way or another:
- localHost.:port/myapp (that’s with a period between “localhost” and colon) - app crashes, unspecified service security exception
- 127.0.0.1:port/myapp instead of localhost - app crashes, unspecified service security exception
- ipv4.fiddler:port/myapp instead of localhost - app crashes, unspecified service security exception (because translates to 127.0.0.1)
- myMachineName:port/myapp instead of localhost – “[Fiddler] Connection to ward-xps failed.
Exception Text: No connection could be made because the target machine actively refused it”
- Fiddler proxy setting: Tools / Fiddler Options / General / uncheck “Enable IPv6” – no help
- Fiddler Tools / WinINET Options / LAN Settings. “Use a proxy server” checked. Click Advanced button … proxy addresses are set to 127.0.0.1 – no help
Many of these suggestions are variations on the cryptic paragraphs in the configuration FAQ on the Fiddler site: http://www.fiddlertool.com/Fiddler/help/hookup.asp#Q-LocalTraffic