如何获取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取决于子主机(或应用程序目录)
最后使用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。
您可能需要检查是否为空