0

我正在创建一个 WCF 服务,该服务将在一个单独的服务器上运行,而不是调用它的网站。我遇到的问题围绕从浏览器和服务器获取上下文信息。

作为一点背景知识,我正在编写的应用程序曾经作为服务器上的一个简单程序集存在,该程序集被调用以收集一些自定义 Web 分析,并且严重依赖 HttpContext 来检索 cookie、查询字符串信息和服务器变量。

我已经辞职,通过 AJAX 调用将所有这些东西作为文本传递给我的服务,但我不禁觉得我做错了。

有没有更好的方法将此信息传递给我的服务?

更新:

因此,在查看了原始应用程序之后,我决定采用另一种方法。当前程序集仅引用五个 cookie,因此我可能会简单地采用这些并定义一个数据协定,其中包括这些值以及我需要使用该服务的服务器变量的值。我仍将传入整个查询字符串并简单地创建一个 HttpRequest 对象来访问这些值,因为它在整个应用程序中使用得更多。

我将在 JSON 包装器中将所有这些发送到服务,并使用构建器类在服务应用程序中创建分析对象。

我认为这是一个更好的解决方案——你怎么看?

4

1 回答 1

0

建议使用WCF 服务中的属性(此处OperationContext.Current为MSDN 链接)来获取传入请求的详细信息。

参考:

  • 我在网上四处搜索,这篇SO 帖子提供了一个良好的开端(我赞成!)。

  • 这个MSDN 线程解释了如何从OperationContext.

希望这可以帮助。我还没有尝试过,所以不能保证它有效。

ps:如果这种方法有效,你的新方法OperationContract应该有零参数。

于 2012-08-09T16:40:05.490 回答