gpt4 book ai didi

c# - 通过 ASP.NET JSON 返回阿拉伯文本

转载 作者:行者123 更新时间:2023-11-30 17:45:15 25 4
gpt4 key购买 nike

我想通过以 JSON 形式返回的 asp.net 网络方法返回阿拉伯文本,这是我正在使用的代码:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void getAr()
{
ResultTemplate resultTemplate = new ResultTemplate();
resultTemplate.data = "بسم الله";

JavaScriptSerializer js = new JavaScriptSerializer();
string retJSON = js.Serialize(resultTemplate);

Context.Response.Clear();
Context.Response.ContentType = "application/json";
Context.Response.AddHeader("content-length", retJSON.Length.ToString());
Context.Response.Flush();
Context.Response.Write(retJSON);
}

当我运行网络方法时,它一直在加载而没有任何响应!

最佳答案

您不应该像这样使用 WebMethod。将其签名更改为:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string getAr()
{
string result;
// fill it ...
return result;
}

加上

Response.Flush 表示立即发送缓冲输出。所以你应该把它放在最后。

Context.Response.Write(retJSON);
Context.Response.Flush();

此外,content-length 不等于 string.Length。您应该将其转换为字节数组,然后使用其长度。

byte[] s = Encoding.UTF8.GetBytes(resultString);
response.AddHeader("Content-Length", s.Length.ToString());
response.BinaryWrite(s);

关于c# - 通过 ASP.NET JSON 返回阿拉伯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086586/

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