首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在WebAPI2的IHttpActionResult中添加头部?

在WebAPI2的IHttpActionResult中添加头部可以通过以下步骤实现:

  1. 创建一个自定义的HttpResponseMessage对象,用于包装返回的结果。
  2. 使用HttpResponseMessage的Headers属性,添加需要的头部信息。
  3. 将需要返回的结果作为HttpResponseMessage的Content属性。
  4. 使用ResponseMessageResult将自定义的HttpResponseMessage对象作为参数返回。

下面是一个示例代码:

代码语言:csharp
复制
public class CustomActionResult : IHttpActionResult
{
    private readonly IHttpActionResult _innerResult;
    private readonly Dictionary<string, string> _headers;

    public CustomActionResult(IHttpActionResult innerResult, Dictionary<string, string> headers)
    {
        _innerResult = innerResult;
        _headers = headers;
    }

    public async Task<HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken)
    {
        var response = await _innerResult.ExecuteAsync(cancellationToken);

        foreach (var header in _headers)
        {
            response.Headers.Add(header.Key, header.Value);
        }

        return response;
    }
}

使用示例:

代码语言:csharp
复制
public IHttpActionResult Get()
{
    var headers = new Dictionary<string, string>
    {
        { "CustomHeader1", "Value1" },
        { "CustomHeader2", "Value2" }
    };

    var innerResult = Ok("Hello, World!");
    var customResult = new CustomActionResult(innerResult, headers);

    return customResult;
}

在上述示例中,我们创建了一个CustomActionResult类,它接收一个内部的IHttpActionResult对象和一个包含头部信息的字典。在ExecuteAsync方法中,我们首先执行内部的结果,然后遍历头部字典,将头部信息添加到HttpResponseMessage对象的Headers属性中。最后,返回修改后的HttpResponseMessage对象。

这样,当调用Get方法时,将返回一个包含自定义头部信息的HttpResponseMessage对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在keras添加自己优化器(adam等)

\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\python\keras 3、找到keras目录下optimizers.py文件并添加自己优化器...找到optimizers.pyadam等优化器类并在后面添加自己优化器类 以本文来说,我在第718行添加如下代码 @tf_export('keras.optimizers.adamsss') class...super(Adamsss, self).get_config() return dict(list(base_config.items()) + list(config.items())) 然后修改之后优化器调用类添加我自己优化器...# 传入优化器名称: 默认参数将被采用 model.compile(loss=’mean_squared_error’, optimizer=’sgd’) 以上这篇如何在keras添加自己优化器...(adam等)就是小编分享给大家全部内容了,希望能给大家一个参考。

45K30

Nginx负载均衡

在大型网站,负载均衡是有想当必要。...这篇文章将要介绍主要内容如下: 配置三台服务器 分别在三台服务器上部署同样服务代码 使用Nginx实现负载均衡 我们Nginx负载均衡器将部署在一台交互服务器上,配置与其他两台服务器连接...x64 sp1 英文版      VisualStudio 2017  部署环境:阿里云 ECS实例 windows server 2012 x64      IIS 7.0 所需技术 ASP.NET WebApi2...实现过程 使用ASP.NET webapi2 写一个简单地返回json接口,为了展示我们调用是不同服务器上接口,我们以数字形式分别生成三个接口服务,并且分别部署到三台服务器iis。...public IHttpActionResult GetTest(){ //throw new Exception_DG_Internationalization(1001); string ip

1.1K51
  • 何在 wordpress 网站添加搜索框

    转到添加新插件部分并搜索 Ivory Search (by Ivory Search)。 单击立即安装,然后激活它们。 一个新象牙搜索选项卡出现在左侧仪表板上。...Includes 部分允许你包含你希望用户搜索所有内容。例如,你可以只允许用户搜索电子商务网站产品,也可以允许他/她搜索某些页面或附件。...Includes 部分允许你从用户搜索中排除要隐藏内容。例如,如果你已启用用户搜索页面但你想从搜索结果中排除某些页面,你可以在排除部分执行此操作。...当你在 Ivory Search 表单工作时,将鼠标悬停到 Settings 选项(在 Ivory Search 下仪表板左侧面板上),以设置搜索框位置。这可以在页眉或页脚或水平菜单等。...菜单搜索部分可用选项是特定于主题。 在“Settings”部分,你可以设置搜索框外观。

    3.9K31

    【专业技术】如何在Linux添加系统调用

    Linux操作系统作为自由软件代表,它优良性能使得它应用日益广泛,不仅得到专业人士肯定,而且商业化应用也是如火荼。...在Linux,大 部分系统调用包含在Linuxlibc库,通过标准C函数调用方法可以调用这些系统调用。那么,对Linux发烧友来说,如何在Linux增 加新系统调用呢? ?...2 添加系统调用   如果用户在Linux添加系统调用,应该遵循几个步骤才能添加成功,下面几个步骤详细说明了添加系统调用相关内容。   ...(1) 添加源代码   第一个任务是编写加到内核源程序,即将要加到一个内核文件中去一个函数,该函数名称应该是新系统调用名称前面加上sys_标志。...假设新加系统调用为mycall(int number),在/usr/src/linux/kernel/sys.c文件添加源代码,如下所示: asmlinkage int sys_mycall(int

    2.3K40

    经典计算机视觉项目–如何在视频对象后面添加图像

    总览 在移动物体后面添加图像是经典计算机视觉项目 了解如何使用传统计算机视觉技术在视频添加logo 介绍 一位同事带来了一个挑战-建立一个计算机视觉模型,该模型可以在视频插入任何图像而不会扭曲移动对象...目录 了解问题陈述 获取该项目的数据 为计算机视觉项目设定蓝图 在Python实现该技术-添加logo! 了解问题陈述 这将是计算机视觉中非常罕见用例。将在视频嵌入logo。...因此,必须弄清楚如何将logo添加到背景某个位置,以使其不会阻碍视频中正在进行主要操作。...当从图1提取矩形并将其插入图2时,它将出现在粉红色圆圈顶部: ? 这不是想要。圆应该在矩形前面。因此了解如何解决此问题。 这些图像本质上是数组。...类似地,矩形像素值为1将被图6像素替换。最终输出结果如下所示: ? 这是将用于在视频跳舞家伙后面嵌入OpenCVlogo技术。开始做吧! 在Python实现该技术-添加logo!

    2.9K10

    何在Integer类型ArrayList同时添加String、Character、Boolean等类型数据?

    先来看看面试官描述: “如何在Integer类型ArrayList同时添加String、Character、Boolean等类型数据呢?” 看到这里,你是不是想到下面的代码?...这种方式是最常用,在各类框架配置文件可以看到,:Spring、SpringMVC、Mybatis等等。...>... parameterTypes) Method methodName:表示被获取方法名字parameterTypes:表示被获取方法参数Class类型, String.class 表示获取指定一个本类方法...3、调用getMethod()方法获取指定Method。 4、调用invoke()方法将不同数据类型数据添加到list集合。...Test.addObjectToList(list, o); //向list添加Boolean类型数据 Boolean boolean1=true;

    2.1K20

    何在WEBIDE个人版添加其它版本资源库「建议收藏」

    SAP 资源库不断在更新,怎么在本地WEBIDE中使用新版本控件呢?答案就是添加相应版本SDK到本地resource库 1....下载所需要版本源 这里下载所需要SDK 2....添加源到WEBIDE 只需要解压resource和test-resource这两个文件夹到本地WEBIDE路径下,参照本地orion所在目录路径 在这个路径下对应下载SDK版本新建一个文件夹...即可 指定了version 1.62.0之后,运行成功一次此时把neo-app.json文件"version": "1.62.0",参数删除,一样可以正常执行,但orion重启之后就不再有效...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    69020

    何在 Python 绘图图形上手动添加图例颜色和图例字体大小?

    本教程将解释如何使用 Python 在 Plotly 图形上手动添加图例文本大小和颜色。在本教程结束时,您将能够在强大 Python 数据可视化包 Plotly 帮助下创建交互式图形和图表。...但是,并非所有情况都可以通过 Plotly 默认图例设置来适应。本文将讨论如何在 Python 手动将图例颜色和字体大小应用于 Plotly 图形。...语法 Plotly  update_layout() 方法以及legend_font_color和legend_font_size参数可用于手动添加图例颜色和字体大小。...这些参数控制图上显示图例颜色和字体大小。 最后,使用 Plotly  show() 函数显示绘图。...Python 手动将图例颜色和图例字体大小添加到绘图图形

    73730

    面试官:如何在Integer类型ArrayList同时添加String、Character、Boolean等类型数据?

    1、问题描述 “如何在 Integer 类型 ArrayList 同时添加 String、Character、Boolean 等类型数据?” 你是不是想到下面的代码?...这种方式是最常用,在各类框架配置文件可以看到,:Spring、SpringMVC、Mybatis 等等。...>... parameterTypes) Method methodName:表示被获取方法名字parameterTypes:表示被获取方法参数Class类型, String.class 表示获取指定一个本类方法...调用 getMethod() 方法获取指定 Method。 调用 invoke() 方法将不同数据类型数据添加到 list 集合。...Test.addObjectToList(list, o); //向list添加Boolean类型数据 Boolean boolean1=true;

    1.8K20

    7.如何在RedHat7OpenLDAP实现将一个用户添加到多个组

    RedHat7上安装OpenLDA并配置客户端》、《2.如何在RedHat7实现OpenLDAP集成SSH登录并使用sssd同步用户》、《3.如何RedHat7上实现OpenLDAP主主同步》、《4...本篇文章主要介绍如何在RedHat7OpenLDAP中将一个用户添加到多个组。...用户ldif文件包含了用户默认用户组faysontest2,在文件我们使用gidNumber来添加faysontest2用户组。...在组ldif文件,我们在faysontest3组条目下增加了memberUid: faysontest2来添加组和用户依赖关系。...这里我们可以看到faysontest2用户包含了两个组faysontest2和faysontest3 5.将用户添加到已有的组 ---- 在用户和用户组已经存在情况下可以通过ldapmodify命令修改修改条目信息将用户添加到已有的用户组

    2.9K60

    何在小程序引入自有 API?

    = new WebApi2(); apis.add(webApi2); IApi webApi3 = new WebApi3(); apis.add(webApi3); FinAppClient.INSTANCE.getExtensionWebApiManager...在自定义接口 invoke() 方法跳转到宿主 App 其它页面,做完一系列操作之后,按系统返回键想返回小程序,结果却返回到了宿主 App 启动小程序页面,为什么?...原因: 跳转到宿主App其它页面这一步,是通过宿主AppContext实例来启动Activity,并且没有把Activity压入新任务栈。...小程序跳转到宿主App页面,新打开页面是添加到宿主App原有的任务栈,当从页面返回时,执行逻辑是在原生App中原有的任务栈中弹出页面,因此会看到原生App页面被逐个关闭,最后返回到原生应用启动小程序页面...Taro 如何给打包后文件添加 FinChatConf.js taro可以使用 copy配置项,将 FinChatConf.js 复制到打包后文件之中,具体写法可参考如下: module.exports

    74510
    领券