そのため、ここ数日、ASP.netMVC4と新しいWebAPIで遊んでいます。新しいアプリを起動するときに常に最初に行うことの1つは<trust level="Medium" />
、Web.configにスローされるため、アプリがほとんどのホストで実行されることを確認できます。
通常、私がストックのMicrosoftのものを使用する場合、すべてが問題なく機能します。しかし今夜、私はBradWilsonのWebstackofLoveプレゼンテーションに続いて問題を抱えていました。私のすべてのAJAX呼び出しはServer500エラーを返していました。ただし、ブラウザで直接WebAPIにアクセスすると、すべてがXML形式で返されます。
したがって、WebAPIコントローラーを使用したJSONへのシリアル化が問題の原因であると思います。私の質問は、これを回避する方法ですか?
マイクロソフトが共有ホストに安全にプレイして中程度の信頼に固定するように教えてから、中程度の信頼では機能しない新しいWebテクノロジを作成するのは気になります。それが最終リリースであり、バイナリがGACにインストールされている場合、おそらくすべてがうまくいくでしょうか?共有ホストが最新かつ最高のものにアップグレードするには、数か月かかる場合があります。
最大の問題は通常、リフレクションであるようです。私が試したものの90%以上が、Medium Trustで実行されないのは、これが原因です(たとえば、ViewModelを手動でコーディングする代わりにAutoMapperを使用したいです。 =>エンティティマッピング)。リフレクションをアプリ内のアセンブリに限定して、ミディアムトラスト機能セットの一部にし、この問題を過去のものにする方法はありますか?
Global.asaxでApplication_Errorイベントが発生していないことがわかったときに、IISでFailedRequestTracingを設定しました。これはスローされる例外です。詳細を取得する方法がわかりません。
Warning -MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 500
HttpReason Internal Server Error
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification EXECUTE_REQUEST_HANDLER
ErrorCode The operation completed successfully. (0x0)
問題を表示しているサンプルプロジェクトへのリンク。また、ベースの「テスト」ディレクトリには、私のフィドルテストのスクリーンショットが含まれています:XML-fiddle.png&JSON-fiddle.png。