I'm creating a WCF service that is going to live on a separate server than the website's that are calling it. The problem I'm running into revolves around getting context information from the browser and server.
As a little background, the application I'm writing used to exist as a simple assembly on the server that was called to collect some custom web analytics, and leaned heavily on HttpContext to retrieve cookies, querystring information, and server variables.
I've resigned myself to passing all of these things to my service as text via an AJAX call, but I can't help but feel like I'm doing it wrong.
Is there a better way to pass this information to my service?
UPDATE:
So, after looking at the original application, I've decided to take another approach. The current assembly only references five cookies, so I'm probably going to simply take those and define a data contract that includes these values and the values of the server variables that I need to use the service. I'm still going to pass in the entire query string and simply create a HttpRequest object to access those values since it is used more heavily throughout the application.
I'll send all of this up to the service in a JSON wrapper and use a builder class to create the analytic object in the service application.
I think this is a better solution - what do you think?