Javascript HTTP响应发送JS对象赢得';我不能用C语言工作#

Javascript HTTP响应发送JS对象赢得';我不能用C语言工作#,javascript,c#,json,http,Javascript,C#,Json,Http,我最近在一个C#控制台应用程序中为一个程序创建了一个后端服务器,实现了HTTPListiner等等。在转换成字节数组后,如果它是一个普通字符串,我可以将响应发送回客户端,但由于某种原因,当我尝试返回javascript函数时,客户端没有收到信息(通过chrome上的开发工具进行检查) 代码: 尽管出于某种原因,当我尝试在字符串转换为字节数组之前在字符串前面加一个“+”这样的简单方法时,JSON字符串成功地发送到客户端,并得到了解决。非常困惑。当我尝试返回javascript函数时,客户端没有收到

我最近在一个C#控制台应用程序中为一个程序创建了一个后端服务器,实现了HTTPListiner等等。在转换成字节数组后,如果它是一个普通字符串,我可以将响应发送回客户端,但由于某种原因,当我尝试返回javascript函数时,客户端没有收到信息(通过chrome上的开发工具进行检查)

代码:


尽管出于某种原因,当我尝试在字符串转换为字节数组之前在字符串前面加一个“+”这样的简单方法时,JSON字符串成功地发送到客户端,并得到了解决。非常困惑。

当我尝试返回javascript函数时,客户端没有收到信息
是否收到错误?没有错误。我可以打印出控制台中返回的内容,它是对象的一个正确的javascript字符串版本,出于某种原因,通过http单独发送它对我来说不起作用,尽管@SelimYıldız@MikeyP您可以添加在控制台中看到的响应吗?当您说JSON字符串成功发送到客户端时,如果xxx,那么在另一种情况下会发生什么呢?{“accountname”:“Mwp”,“keyID”:24,“friendsList”:null}会在控制台中打印出来。但是当我尝试将其发送给客户机时,没有任何信息被发送过来。我还提到,当我在对象转换之前向字符串添加任意随机字符或值时,它会成功地发送到客户端。例如,如果我执行byteSend=Encoding.UTF8.GetBytes(“+”+json”);它会起作用,但不幸的是,它前面会有一个恼人的+介词@Yasser您可以尝试使用
Write
而不是
WriteAsync
进行测试吗?我也没有看到任何等待WriteAsync的消息?
UserInfo user = new UserInfo();
user.accountname = Program.Response.tmpUser;
user.keyID = KeyTagID.GrabUserKeyTag(Program.Response.tmpUser);
user.friendsList = null;
string json = JsonConvert.SerializeObject(user);

byteSend = Encoding.UTF8.GetBytes(json);
resp.ContentLength64 = byteSend.Length;
resp.ContentType = "application/json";
resp.StatusCode = 200;
resp.SendChunked = true;
resp.OutputStream.WriteAsync(byteSend, 0, byteSend.Length);
resp.Close();