Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从中间件发送JSON响应_C#_Asp.net Core - Fatal编程技术网

C# 从中间件发送JSON响应

C# 从中间件发送JSON响应,c#,asp.net-core,C#,Asp.net Core,代码如下: public Task Invoke(HttpContext httpContext) { if (Http_Server.mode == 2) return InteractivityTask(httpContext); else return _next(httpContext); } public async Task<Http

代码如下:

public Task Invoke(HttpContext httpContext)
        {
            if (Http_Server.mode == 2)
                return InteractivityTask(httpContext);
            else
                return _next(httpContext);
        }

public async Task<HttpResponse> InteractivityTask(HttpContext httpContext) {

            HttpResponse response = httpContext.Response;
            string s = getResponseBody();
            response.Clear();
            MemoryStream ms = GenerateStreamFromString(s);
            response.Body = ms;
            response.ContentType = "application/json";//not sure
            }
            return response;
        }

public MemoryStream GenerateStreamFromString(string value)
        {
            return new MemoryStream(Encoding.UTF8.GetBytes(value ?? ""));
        }
公共任务调用(HttpContext HttpContext) { 如果(Http_Server.mode==2) 返回交互任务(httpContext); 其他的 返回_next(httpContext); } 公共异步任务交互任务(HttpContext HttpContext){ HttpResponse response=httpContext.response; 字符串s=getResponseBy(); response.Clear(); MemoryStream ms=GenerateStreamFromString; 响应。Body=ms; response.ContentType=“application/json”;//不确定 } 返回响应; } 公共内存流生成器StreamFromString(字符串值) { 返回新的MemoryStream(Encoding.UTF8.GetBytes(值??); } 我没有收到响应的正文,只是收到了空白正文的状态代码。

尝试以下操作:

response.Body.Write(ms.ToArray(), 0, (int)ms.Length);
而不是:

response.Body = ms;