gpt4 book ai didi

c# - 如何防止 ReadAsStringAsync 返回双重转义的字符串?

转载 作者:行者123 更新时间:2023-12-03 13:06:37 24 4
gpt4 key购买 nike

我有一个看起来有点像这样的 Web API 方法:

    [HttpPost]
public ResponseMessageResult Post(Thing thing)
{
var content = "\r";
var httpResponseMessage = Request.CreateResponse(HttpStatusCode.Accepted, content);
return ResponseMessage(httpResponseMessage);
}

在其他一些客户端代码中,当我调用时:
    var content = httpResponseMessage.Content.ReadAsStringAsync().Result;
content是:
    "\\r"

但我希望它保持原样:
    "\r"

为什么客户端会收到双重转义的字符串,我该如何防止它发生?

最佳答案

我知道这样做可能会导致执行 70 亿行代码(对不起 Darrel Miller),但我发现使用它同样有效,并且对我选择的开发模式的破坏性更小:

response.Content.ReadAsAsync<string>().Result;

或者
await response.Content.ReadAsAsync<string>();

而不是这个(转义引号):
response.Content.ReadAsStringAsync().Result;

注: ReadAsAsyncSystem.Net.Http.HttpContentExtensions 中的扩展方法,在 System.Net.Http.Formatting部件。如果您的项目中没有它,您可以添加 NuGet 包 Microsoft.AspNet.WebApi.Client .

关于c# - 如何防止 ReadAsStringAsync 返回双重转义的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com