Low-level ADO.NET Data Services debugging

When troubleshooting ADO.NET Data Services, it's often handy to look at what content is actually being transferred between a client and a server. Thankfully there are a number of tools that allow you to do this without too much hassle.

One of the simples ones is to just use the telnet client that comes with your operating system (you might need to install this from the system components in Windows Vista). I briefly discussed how to use this tool in Streaming Exceptions from ADO.NET Data Services, but you can find a much more polished reference in HOW TO: Request a Web Page Through a Telnet Client.

Telnet, however, will only get you so far. Plus sometimes you don't want to just type something, but instead you want to look at what a program is producing or receiving. A tool such as Fiddler will allow you to look at a session from let's say your browser, and inspect the HTTP traffic. There is also an intro to Fiddler on MSDN.

If you want to go even deeper, a tool such as Microsoft Network Monitor allows you to look at the whole dialog at the TCP level (and further down), so you can see all the details. You will rarely need to use this, however, but it doesn't hurt to know that there's something somewhere that can give you even further control. Note however that Fiddler allows you to modify and replay requests, while Network Monitor doesn't have such a capability.

Enjoy!