【问题标题】:C# WCF: Get Requesters URLC# WCF:获取请求者 URL
【发布时间】:2017-02-20 14:31:19
【问题描述】:

我有一个通过 ajax (javascript) 调用的 C# WebService。 是否可以检索请求的 URL?

例子:

test/index.html 通过“GET”调用 WebService。 我可以在服务器端检索此调用 URL (test/index.html) 吗?

对不起,我是新手...

谢谢!

【问题讨论】:

    标签: c# web-services rest get request


    【解决方案1】:

    是的,这可以做到。首先,您需要将以下内容添加到您的 Web.config 文件中

    <configuration>   
       <system.servicemodel> 
          <servicehostingenvironment aspnetcompatibilityenabled="true">     
          </servicehostingenvironment> 
       </system.servicemodel> 
    </configuration>
    

    请求 Web 服务方法的 URL 称为引用者。引用者的 URL 存储在当前正在处理的 Http 请求的 HttpContext 对象的 Current 属性中。您可以通过以下代码获取该值:

    string referrer = System.Web.HttpContext.Current.Request.UrlReferrer.ToString();
    

    您还可以使用以下内容:

    string referrer = WebOperationContext.Current.IncomingRequest.Headers[System.Net.HttpRequestHeader.Referer];
    

    第二种方式基本上是读取Http请求的Headers,然后为你取值。

    【讨论】:

    • 谢谢。这里我有一个问题,即 UrlReferrer 为空。你知道这个问题吗?
    • 好的,知道了。它是空的,因为直接通过浏览器调用服务,而不是从应用程序调用。这是有道理的。谢谢
    猜你喜欢
    • 2011-11-08
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多