2013-04-28 48 views
0

在我的Web服务中,如何检查Web服务呼叫起源地的网站的URL?谢谢。从Web服务呼叫的起始地址获取网站的URL

+1

你的意思是A)客户端访问Web服务的IP,B),转移该客户端的Web服务的一些推荐网址,C)托管/网页URL,一些客户端应用程序(比如,Silverlight的)运行在,D)其他? – 2013-04-28 14:15:11

+0

喜欢选项A,但不是IP,我想要的网址 – Matthew 2013-04-28 14:17:12

+1

您希望网页从请求来自哪里?这个调用是通过AJAX/JavaScript进行的呢? – 2013-04-28 14:18:16

回答

1

在您的情况我认为你必须在IIS托管的Web应用程序和Web应用程序消耗ASMX Web服务,你需要得到其称为服务实现服务的页面的名称。

的ASMX Web服务不限于从网站访问。他们可以从桌面应用程序访问,也没有网页网址。因此,在这种情况下,我们希望获得Web服务实现中的网页URL。您可能会获得来电者的IP地址。但似乎这还不够。

所以唯一的办法就是通过参数或HTTP头传递从调用代码的网页的名称。

+0

感谢您的回复。所以我必须依靠通过正确网址的客户的诚实。我对吗? – Matthew 2013-04-28 14:43:14

+0

我试图获取请求的IP地址。现在,由于这两个应用程序都部署在我的机器上,我预计IP为127.0.0.1,但我得到的只是:: 1?为什么是这样? – Matthew 2013-04-28 14:47:48

+0

@Matthew这是IPv6版本的127.0.0.1 – 2013-04-28 14:48:07

1

我相信你所要求的是被称为Web服务的请求URL。

webpage.aspx - (呼叫) - > MyWebService.asmx。

引荐是webpage.aspx

尝试使用Context.Request.UrlReferrer从web服务。