Использовать заголовок XMLHTTPRequest - PullRequest
1 голос
/ 19 марта 2012

Я создал следующий запрос на JavaScript:

this.XmlHttp.setRequestHeader("AgentGUID", AgentGUID);

Как я могу потреблять его с помощью веб-службы C #? запрос попадает на следующий WebService:

[WebService(Namespace = "http://mysite.com/WebServices/Agent", Description = "Some description")]
public class AgentService : WebService
{

    [WebMethod(Description = "SomeDesc.", MessageName = "LoginRSA")]
    public LoginResult LoginRSA(string loginId, string password, string tenant)
    {
        // Here I want to consume request header
    }
}

Ответы [ 3 ]

2 голосов
/ 19 марта 2012

Думаю, вам нужно взглянуть на следующее свойство.

HttpContext.Current.Request.Headers["AgentGUID"];
1 голос
/ 19 марта 2012

Вы должны иметь возможность использовать this.Context.Request для доступа к текущему запросу. Содержит свойство Headers.

[WebMethod(Description = "SomeDesc.", MessageName = "LoginRSA")]
public LoginResult LoginRSA(string loginId, string password, string tenant)
{
    string agent = this.Context.Request.Headers["AgentGUID"];
}
1 голос
/ 19 марта 2012

System.Web.HttpContext.Current.Request также доступен через WebService, поэтому вы можете использовать это:

var agentGUID = System.Web.HttpContext.Current.Request.Headers["AgentGUID"];
...