I'm trying to learn some WCF on my own. I have C#/ASP.net knowledge but I am new to WCF. I am using Visual Studio 2010 to develop some apps while I learn.
I developed a small web service which acts as the backend for a TODO/Task manager where a user can create/delete/edit new events; it's all very simple and basic.
My questions are the following:
The way web browsers choose response formats from web sites is via content negotiation, and in particular through the use of the Accept and Content-Type HTTP headers.
For example, if your client requires a JSON-formatted response, it would send the server an HTTP request that looks something like this:
GET /resource HTTP/1.0
User-Agent: YourClient 1.0
Accept: application/json
The server, in turn, would respond with an HTTP packet like this:
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 20
{ "type" : "json" }
WCF is unfortunately not equipped to handle content negotiation out of the box, but there is a really nice third-party library that enables it without too much work called WcfRestContrib. Their documentation describes the (quite simple) steps you have to take to make it work. To sum it up, you have to
As for your second question, Fiddler is a fine choice for testing both the client and the server.