2017-11-19 10 views
3

私は古いMVC 5アプリケーションからCore 2.0アプリケーションにいくつかのコードを移植しています。.Net Core 2.0をHttpResponseBaseに置き換える

HttpResponseBaseがコア2.0になくなり、コアライブラリのいずれかで適切な置換が見つからないようで、SerializeDataメソッドが失敗しています。 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); 
    } 
} 
+1

あなたが試すことができ、何がある:statusCodeを400使用する場合 VAR badRequest = BadRequest() ; 、データの場合はオブジェクトのように見えます。 try var objectData = Json(Data); 願っています。 –

答えて

0

リファレンス次のパッケージ:

using Microsoft.AspNetCore.Http.HttpResponse; 

そしてHttpResponseHttpResponseBaseを変更します。

private void SerializeData(HttpResponse response) 
+0

@ceferrari ...すべてのasp.netライブラリのリストを見つけるためにどこか知っていますか?回答をもっと簡単に検索できるようにする – dinotom

+0

'Microsoft.AspNetCore.All'パッケージを見てください。新しい 'Core' Webプロジェクトを作成すると、それは自動的に参照されます – ceferrari

関連する問題