.Net Core 2.0替代HttpResponseBase

din*_*tom 5 c# json http

我正在将一些代码从旧的MVC 5应用程序移植到Core 2.0应用程序。

SerializeData方法失败,因为HttpResponseBase不在Core 2.0中,而且我似乎在任何Core库中都找不到合适的替代方法。Resharper甚至没有检测到要添加为依赖项的适当库。

private void SerializeData(HttpResponseBase response)
    {
        if (ErrorMessages.Any())
        {
            Data = new
            {
                ErrorMessage = string.Join("\n", ErrorMessages),
                ErrorMessages = ErrorMessages.ToArray()
            };
            response.StatusCode = 400;
        }
        if (Data == null) return;
        response.Write(Data.ToJson());
        {
        }
    }

public static class JsonExtensions
{
    public static string ToJson<T>(this T obj, bool includeNull = true)
    {
        var settings = new JsonSerializerSettings
        {
            ContractResolver = new CamelCasePropertyNamesContractResolver(),
            Converters = new JsonConverter[] { new StringEnumConverter() },
            NullValueHandling = includeNull ? NullValueHandling.Include : NullValueHandling.Ignore
        };
        return JsonConvert.SerializeObject(obj, settings);
    }
}
Run Code Online (Sandbox Code Playgroud)

cef*_*ari 3

参考以下包:

using Microsoft.AspNetCore.Http.HttpResponse;
Run Code Online (Sandbox Code Playgroud)

并更改HttpResponseBaseHttpResponse

private void SerializeData(HttpResponse response)
Run Code Online (Sandbox Code Playgroud)