我正在尝试通过执行以下操作来设置 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 状态代码。
关于c# - 设置 Httpresponse 的 Response Body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17796372/