如何获取RESTful web服务的请求URI

本文关键字:服务 web 请求 URI RESTful 何获取 获取 | 更新日期: 2023-09-27 18:08:09

我有一个在几个不同网站下使用的web服务,我想知道请求来自哪个网站(并根据该数据返回不同的东西)。我该怎么做呢?

我有一个网站,example.com,在/webservice中有一个web服务。svc。当客户端通过http://client1.example.com/webservice.svc/hello访问这个站点时,我想说"hello, client1!",当他们通过http://client2.example.com/webservice.svc/hello访问时,它应该说"hello, client2!"。

所以client1或client2取决于子主机(或应用程序目录)

如何获取RESTful web服务的请求URI

最后使用HttpContext.Current.Request.Url.ToString();

它也返回了"对象引用不设置为对象的实例"最初当我尝试,但发现设置[AspNetCompatibilityRequirements(requirementmode = aspnetcompatibilityrequirementmode . allowed)]之前我的类声明以及在web。

假设您正在使用WCF,您可以尝试:System.ServiceModel.Web.WebOperationContext.Current.IncomingRequest.Headers["Referer"]

在您的示例中结果将是http://client1.example.com/webservice.svc/hello或http://client2.example.com/webservice.svc/hello。然后,您可以解析该字符串以确定是否存在client1或client2。

您可能需要检查是否为空