JSONPをMVCで処理する機能が組み込まれていないため、常にサードパーティの追加機能を使用していました。明らかに、そのライブラリは.NET Coreと互換性がありません。したがって、互換性のある同様のライブラリを見つけるか、他の方法を選択することもできます。
@CuongLeはCORSが全体的に優れたアプローチであることは間違いないので、間違いなくそれを調査する必要があります。しかし、あなたがJSONPを主張するならば、手動で実装するのはとても簡単です。本当にライブラリは必要ありません。
単純に、すべてのJSONPは、クライアントによって指定された「コールバック」関数に渡されたJSONです。言い換えれば、callackが "mycallback" として指定された場合、応答はちょうどのようになります。その結果
mycallback({ "foo": "bar" });
、あなたのコードは、単純に次のようになりますJSONPを交換する
string json = null;
using (var ms = new MemoryStream())
{
var serializer = new DataContractJsonSerializer(typeof(Foo));
serializer.WriteObject(ms, foo);
json = Encoding.UTF8.GetString(ms.ToArray());
}
var jsonp = String.Format("{0}({1});", callback, json);
Response.ContentType = "application/javascript";
return Content(jsonp);
CORSします。https: //docs.microsoft.com/en-us/aspnet/core/security/cors –