c# - 从 Web 方法获取 header

标签 c# webmethod

如何从 jquery ajax 调用中获取 header 属性。我在 header 中发送代码,因此我需要在 webmethods 中读取它:

$.ajax({
    type: "POST",
    url: url,
    data: data,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: success,
    error: error,
    headers: {
        'aaaa': "code"
    }
});

最佳答案

在客户端(我假设 asmx 是您请求的 webmethod),您可以使用 HttpContext.Current 来获取当前的 HttpContext。通过读取Request,可以获得header。

读取所有 header 的示例是:

public string GetRequestHeaders()
{
    HttpContext ctx = HttpContext.Current;
    if (ctx?.Request?.Headers == null)
    {
        return string.Empty;
    }
    string headers = string.Empty;
    foreach (string header in ctx.Request.Headers.AllKeys)
    {
        string[] values = ctx.Request.Headers.GetValues(header);
        headers += string.Format("{0}: {1}", header, string.Join(",", values));
    }

    return headers;
}

要阅读您的特定 header ,您可以阅读

HttpContext.Current.Request.Headers['aaa']

关于c# - 从 Web 方法获取 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057016/

相关文章:

asp.net - 从 WebService 返回 DataSet 并使用 jQuery $.ajax 填充数据列表

jquery - 无法调用服务器端 webmethod 函数

c# - 统一按钮点击不触发事件

C# 项目不报告 SonarQube 上的任何指标

c# - google maps onclick事件导致asp.net页面的部分回发c#

c# - Web 服务中的通用类型 WebMethod

javascript - 如何使用Angular js将json中的数据绑定(bind)到li

c# - 用字符串中的字符填充字符数组

c# - UpdatePanel内的Gridview删除记录,更新错误的行

c# - For 循环增加文本框 ID。 C# 窗体