c# - 设置 Httpresponse 的 Response Body

标签 c# asp.net http httpresponse

我正在尝试通过执行以下操作来设置 HttpResponse 的响应主体:

response.Output.Write("Message Body"); //(Ive also tried just response.Write())

但是,当我跟踪我的响应时,响应正文不包含此消息。但是,在执行这些步骤之前,我通过执行以下操作来设置对 Bad Request 的响应:

response.StatusCode = (int)HttpStatusCode.BadRequest;

这反射(reflect)得当。响应正文设置为默认的“错误请求”

最佳答案

没有看到您的配置或代码,我相信您的问题与名为 existingResponse 的 IIS 设置有关,它存在于 web.config 中:

<system.webServer>
    <httpErrors existingResponse="PassThrough"></httpErrors>
</system.webServer>

existingResponse 有三个可能的值,它们是:

  • 自动:仅当设置了 SetStatus 标志时才保留响应不变。
  • 替换:替换现有响应,即使设置了 SetStatus 标志也是如此。
  • 直通:如果存在现有响应,则保持响应不变。

我相信 Replace 是您想要的,以便发送自定义错误消息以及 HTTP 状态代码。

阅读Returning a body content with 400 HTTP status code获取更多信息。

关于c# - 设置 Httpresponse 的 Response Body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17796372/

相关文章:

c# - 这个 Composition 是否违反了面向对象编程的任何原则?

c# - Windows 服务在进入休眠或休眠模式/从 sleep 或休眠模式唤醒时如何表现?

c# - ASP.Net 项目,一个大的 dll 和我糟糕的设计决定

c# - 我应该如何在 C# 中散列这些数据?

c# - 在类库中传递和维护配置

jquery - 模态对话框 Jquery UI Blackberry 曲线问题

c# - 在什么情况下样式在 CSS 文件中不起作用但在页眉中起作用?

python - 如何同时监控两台 PC 上的 Internet 连接?

c# - 使用WebClient下载时出现操作超时错误

image - 两张照片(大)具有相同字节数的几率是多少?