有没有办法强制 ASP.NET Web API 返回纯文本?

2023-11-27

我需要从 ASP.NET Web API 控制器获取纯文本响应。

我尝试过提出请求Accept: text/plain但它似乎并没有达到目的。 此外,该请求是外部的,不受我的控制。我要完成的是模仿旧的 ASP.NET 方式:

context.Response.ContentType = "text/plain";
context.Response.Write("some text);

有任何想法吗?

编辑,解决方案: 根据阿利斯塔德的回答,我添加了WebAPI贡献文本格式化程序,在Application_Start中初始化它:

  config.Formatters.Add(new PlainTextFormatter());

我的控制器最终是这样的:

[HttpGet, HttpPost]
public HttpResponseMessage GetPlainText()
{
  return ControllerContext.Request.CreateResponse(HttpStatusCode.OK, "Test data", "text/plain");
}

嗯...我认为您不需要创建自定义格式化程序来完成这项工作。相反,返回如下内容:

    [HttpGet]
    public HttpResponseMessage HelloWorld()
    {
        string result = "Hello world! Time is: " + DateTime.Now;
        var resp = new HttpResponseMessage(HttpStatusCode.OK);
        resp.Content = new StringContent(result, System.Text.Encoding.UTF8, "text/plain");
        return resp;
    }

这对我来说很有效,无需使用自定义格式化程序。

如果您明确想要创建输出并覆盖基于 Accept 标头的默认内容协商,您将不想使用Request.CreateResponse()因为它强制使用 mime 类型。

相反,显式创建一个新的HttpResponseMessage并手动分配内容。上面的例子使用StringContent但是还有很多其他内容类可用于从各种 .NET 数据类型/结构返回数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法强制 ASP.NET Web API 返回纯文本? 的相关文章

  • 在 gridview 控件中使用单选按钮

    我有一个 gridview 控件 其中使用存储过程显示数据 该网格有三列 第一列包含单选按钮 总体思路是用户应该能够从 在我的例子中 5 个单选按钮中仅选择一个单选按钮 当前功能的问题是我可以同时选择所有单选按钮 我尝试使用 groupna
  • MVC 操作过滤器和多线程

    我目前遇到了操作过滤器的线程问题 在我的应用程序上 我使用 ActionFilter 来执行每个操作的跟踪 此跟踪将提供统计信息 例如调用的持续时间 并记录参数被派往行动 实际的跟踪实现 由其他团队完成 使用 IDisposable 对象
  • 使 .net web api 队列请求以“单线程”方式运行

    我们有一个 c net Web API 服务调用代码 该代码无法一次处理多个数据库请求 该系统适用于需求相对较小的账单在线支付 我们无法控制代码来进行可以解决问题的更改 另一个使用相同代码的小组使用 WCF API 和服务配置将并发请求限制
  • 使用 DependencyResolver 通过 MVC 3 进行控制器实例化时出错

    我正在使用 MVC 3 并在应用程序启动时使用以下代码 UnityContainer container new UnityContainer new UnityMappings container DependencyResolver S
  • href 中的 Mono ASP.NET MVC 波形符导致 System.NotImplementedException

    我正在尝试在 Ubuntu 14 04 1 上使用 Mono 3 12 0 制作 ASP NET 应用程序 每当我尝试在我的 href 中使用波浪号时 Layout cshtml 我得到一个System NotImplementedExce
  • ASP.Net 中的不同身份验证方式

    我正在为我的公司开发一个网站 该网站可以在我们的内部网络和互联网上访问 有人问我一些对我来说似乎不可能的问题 但我想在真正说之前问这个问题 我们公司有两种类型的用户 一种是实际在 Active Directory 中注册的用户 等等 拥有
  • 使用 Tempdata 使我的应用程序崩溃

    我对 ASP NET 非常陌生 正在尝试在我在 Visual Studio 2015 中制作的 Web 应用程序中的两个控制器之间传递对象 该 Web 应用程序正在使用 ASP Net 5 预览模板 Web 应用程序 如果有帮助 我想我正在
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • 使用 IIS 发布:找不到服务器 DNS

    我正在尝试使用 IIS 发布我的项目 我能够通过 Visual Studio 发布它 La aplicaci n web se public correctamente file D www plataformafantasy com Co
  • Log4net不会将日志写入日志文件

    我使用 Log4net 创建了一个简单的场景 但我的日志附加程序似乎不起作用 因为消息没有添加到日志文件中 我将以下内容添加到 web config 文件中
  • 输入类型=图像 - onclick(),将触发其事件,但在 jquery 中的函数上表现不佳

    我认为这可能是两篇文章 2个问题 所以如果你对此发表评论 我会将它们分开 主要问题实际上是 我怎样才能为按钮设置图像背景 简单且正确 我想现在我可以确定这些事实了 因为我在将图像设置为按钮背景时遇到了 小 问题 我想 好吧 如果很难设置的话
  • 通过 ASP.NET 网站管理员工具获得 Asp.Net 会员资格

    我使用 aspnet regsql 创建了一个数据库 该数据库是在 sql server 2008 中创建的 而不是在我的项目中的数据文件夹中创建的 我需要手动将其移动到该文件夹 吗 接下来 在网站管理工具中 我转到提供商部分并单击 测试
  • C# asp.net中WebForm中Winform的Textbox.KeyDown的交替事件是什么?

    在 WinForms 应用程序中 我可以有一个textbox1 keydown事件 但我想在 WebForm ASP NET 中实现同样的事情 那么我该怎么做呢 我需要从数据库中检索有关此事件的数据 您可以使用 onkeydown 事件 然
  • 如何从源视图 (aspx) 中的 C# 中为按钮事件添加事件处理程序

    为 HTML 源视图中的按钮创建代码隐藏 webforms 事件处理程序的最简单方法是什么 在 VB NET 中 切换到代码隐藏页面并使用顶部的对象和事件组合框来选择和创建非常容易 在 C 中 这些都缺失了 我真的不喜欢设计视图 确保 属性
  • RegisterForEventValidation 只能在 Render 期间调用

    我有一个将从 jquery ajax 调用的 webmethod WebMethod public string TestMethod string param1 string param2 StringBuilder b new Stri
  • ASP.NET DropDownList SelectedValue 属性未立即设置

    我有一个 ASP NET Web 表单 在其中使用 DropDownList 控件来允许用户选择一个项目并查看相关结果 由于某种原因 当我设置 DropDownList 的 SelectedValue 属性时 它设置的值不会立即可用 这是我
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • 带有整数字符串的枚举

    我有一个公众号enum像这样 public enum occupancyTimeline TwelveMonths FourteenMonths SixteenMonths EighteenMonths 我将用它来DropDown菜单如下
  • TransactionScope 是否需要开启 DTC 服务?

    根据我的阅读 为了在 NET 中使用 TransactionScope 您需要运行 Windows 中的分布式事务协调器服务 我有那个服务关掉 并且我的应用程序似乎运行相同并且回滚事务没有问题 我错过了什么吗 它如何能够发挥作用呢 我正在运
  • .Net Web API 未找到与请求 URI 匹配的 HTTP 资源

    我正在开发 Net Web API 它在调试和本地主机 IIS 上都运行良好 但是当我将其发布到服务器时 它开始给出以下错误 Message 未找到与请求 URI 匹配的 HTTP 资源 在服务器上 我们在该 API 的默认站点下有应用程序

随机推荐

  • 最佳 Rails HTML 解析器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我知道 Hpricot 仍然是一个标准 但我记得听说过一种更快 更具表现力的 Ruby HTML 解析器 有谁知道它叫什么以及是否值得从 Hpric
  • Android 应用安装跟踪如何工作?

    这里有人能解释一下 Android 应用程序推荐跟踪的工作原理吗 一位朋友给了我一个 Android 应用程序的 google play 推荐网址 我安装了该应用程序并打开了它 应用程序开发人员如何知道是我的朋友向我推荐了他们的应用程序 我
  • Python 中的 getpass.getpass() 函数不起作用?

    在 Windows 7 上运行并使用 PyCharm 2016 2 3 如果有的话 无论如何 我正在尝试编写一个向收件人发送电子邮件的程序 但我希望控制台提示输入密码才能登录 我听说getpass getpass 可用于隐藏输入 这是我的代
  • 如何使用 C# 将缺少分隔符的字符串解析为 DateTime?

    嘿 不知何故 我有这个字符串 20100205 162206 这是没有任何分隔符的日期和时间 我需要将其作为 C 中的日期时间返回 什么是最好的方法 使用以下重载之一日期时间 ParseExact并指定一个自定义日期时间格式字符串 Date
  • Python Pandas 使用 Groupby 进行条件求和

    使用样本数据 df pd DataFrame key1 a a b b a key2 one two one two one data1 np random randn 5 data2 np random randn 5 df data1
  • 即使参数没有 null 约束,也会收到有关可为 null 类型参数的错误

    我有一个通用界面IDataAdapter
  • 使用 WCF 和 MTOM 进行流式传输

    我使用带有流传输模式的 WCF 绑定 用于向服务上传二进制内容或从服务下载二进制内容 我已经成功让它发挥作用了 我将包括配置 合同等以供参考 我做了一些测试来对不同的绑定和编码进行基准测试 上传结果似乎没问题 NetTcp 最快 其次是 B
  • 通过代码在 Windows 10 上启用平板电脑模式?

    我阅读了有关如何检测 Windows 10 设备是否处于平板电脑模式的各种方法 最值得注意的是下面的主题 如何在 Windows 窗体应用程序中检测 Window 10 何时进入平板电脑模式 我想通过代码 Net C 启用 禁用平板电脑模式
  • VScode 崩溃(原因:'oom',代码:'-536870904')

    我试图打开以前打开过的文件夹 但它崩溃了 我可以打开其他项目 重新启动计算机也没有帮助 也许是因为我在这个文件夹中打开了一个大文件 400mb 但我无法关闭这个文件 因为每次我尝试打开工作区时 vscode 都会崩溃 https githu
  • Android AppCompat 需要 API 级别 11

    我有一个应用程序使用AppCompat支持库ActionBars 现在 我尝试为此目的创建一个具有某种样式的新主题 xml 文件 所以就像在这里完成的一样 http developer android com guide topics
  • memcached:哪个更快,执行添加(并检查结果),或执行获取(并在返回 false 时设置)

    这个问题的标题不太清楚 但是代码和问题很简单 假设我想每天向用户展示一次广告 为了实现这一目标 每次他们访问我网站上的页面时 我都会检查某个内存缓存键上是否存储了任何数据 如果是这样 请不要展示广告 如果不是 则将值 1 存储在该密钥中 过
  • 使用 GIDSignIn 处理使用另一个 Google 应用程序登录时不获取 Google 用户

    我在用着iOS 版 Google 登录当使用模拟器时 它工作正常 因为没有安装谷歌应用程序并且用户正在获取 但是当使用我的iPhone 6设备时 打开youtube 其中有一些注册帐户 来处理登录 之后 当返回应用程序代码时 不要输入此功能
  • 数据向量列表的快速滚动和(二维矩阵)

    我正在寻找一种快速计算滚动和的方法 可能使用 Numpy 这是我的第一个方法 def func1 M w Rtn np zeros M shape 0 M shape 1 w 1 for i in range M shape 1 w 1 R
  • 更改ggplot2中轴文本的字体大小和方向

    我正在绘制一个图表 其中 x 轴上有一个分类变量 y 轴上有一个数值变量 对于 x 轴 由于存在许多数据点 默认文本格式会导致每个刻度线的标签与其他标签重叠 如何 a 更改轴文本的字体大小和 b 更改文本的方向以使文本垂直于轴 Use th
  • Pandas:InvalidIndexError:重新索引仅对具有唯一值的索引对象有效

    我有两个数据框 用于存储有关在商店购买的产品的数据 df1存储有关商店名称 产品 ID 产品名称和购买日期的数据 df2存储有关产品 ID 产品名称和类型的数据 我正在尝试更新df2接收日期值df1但仅适用于该类型的产品P 下面给出的是数据
  • JavaScript - 从数组中的多个输入获取值

    我正在尝试从数组中具有相同 id 的多个输入中获取值 我已经使用了论坛 但还没有找到适合我的解决方案 Exmaple
  • 我什么时候应该使用像 OSGI 这样的平台,什么时候必须避免使用它?

    我的问题非常简单 应用程序的哪些功能迫使开发人员利用类似 OSGI 的系统 在什么情况下不需要这样的实用程序 我刚刚发布了另一个问题的以下链接 OSGi解决什么问题 但我认为这里更合适 Hal Hildebrand 撰写了一篇博客 介绍了他
  • 在 .NET 3.5 中使用反射生成子类列表

    在运行时 我想指定一个父类 然后程序将生成所有子类的列表 无论多少代 例如 如果我有Entity作为父母 并且Item Entity and Actor Entity 将有两个字符串 Actor 和 Item 我看到System Refle
  • 如何向 log4j 消息添加前缀(在对象级别)

    我使用 log4j2 我想为我的所有消息添加前缀 该前缀被传递给构造函数参数 它取决于类的实例 所以我们处于对象级别 而不是类或线程 例如 我有一个A类实例化就像new A 152 所以当我使用log error message 在这堂课上
  • 有没有办法强制 ASP.NET Web API 返回纯文本?

    我需要从 ASP NET Web API 控制器获取纯文本响应 我尝试过提出请求Accept text plain但它似乎并没有达到目的 此外 该请求是外部的 不受我的控制 我要完成的是模仿旧的 ASP NET 方式 context Res