質問: ASP .NET COREでAjaxによるデータの受け渡しを行うため、そのコードの組み方を調べております。 そこで、下記のリンクのサンプルが非常に分かりやすかったため、ダウンロードしてサーバへデプロイしました。 LocalのIIS Expressではボタンを押すことで、Index.cshtml内の"OnPostGetTime"メソッドが確実に実行され、正常にPostが実行されているのを確認できます。 しかし、サーバ側のIIS8.5上にデプロイした場合、エラーが発生してPostがはじかれてしまうという問題が出てしまいます。 原因が分からず、サーバのIISでチェックすべき項目がありましたら、ご教授お願いしたいと思います。 なお、サーバ側の設定ですが、.NET Core用のアプリケーションプールを作成し、.NET CLRバージョンも「マネージコード無し」になっております。 状況としては下記です。 1. サーバ側の仕様: Windows 2012 R2 IIS 8.5 + .NET CORE 2.1ランタイムを動作 2. クライアント側の開発環境: Windows 10 Visual studio 2017 3. IIS Express上でAjaxは正常に動作し、クライアント⇒Localサーバ側へPostが確実に実行される。 4. IIS 8.5上にデプロイすると、クライアント⇒サーバ側へのPostがはじかれ、下のような文字化けエラーが発生してしまう。 ![画像の説明をここに入力](https://i.stack.imgur.com/8Mjlc.jpg)
回答: 私もIIS8.5にて同じ現象を確認しました。 列挙しておきます。 ブラウザはChrome, firefox, Edgeいずれも同じ結果です。 1. .net core2.1+IIS 8.5 ⇒ 問題あり 2. .net core2.1+IIS 10 ⇒ 問題無し 3. .NET5 + IIS8.5 ⇒ 問題無し Postだけにかぎらず、ajaxにおいては、.net core 2.1はIISバージョンとの組み合わせで大きく挙動が変わります。サポートが終了していますし、今後は.NET5に入れ替えることをオススメします。