私はかなり奇妙な問題で数日間苦労しています。次のように、いくつかの Automapper マッピングを静的クラスに登録しました。
public static class AutomapperConfig
{
public static void Configure()
{
Mapper.CreateMap<Person, EditPersonViewModel>();
Mapper.CreateMap<User, EditUserViewModel>();
}
}
このクラス自体は、global.asax の application_start から呼び出されます。私の開発環境ではすべてが正常に動作するため、これまでのところ順調です。
私たちの実稼働環境では、説明できない動作が発生しています。しばらくすると、アプリケーションは次の例外をスローし始めます。
タイプ マップの設定がないか、マッピングがサポートされていません
マッピングが問題なく存在するため、これは非常に奇妙です。これを修復するための簡単な修正は、アプリケーション プールをリサイクルすることです。これにより、application_start が再度実行されます。
アプリケーション プールのアイドル タイムアウト後にアプリケーションを再起動すると、何か問題が発生する可能性があります。残念ながら、IIS のアイドル タイムアウトを減らしても問題を再現することはできません。
ところで、他の考えられる原因をすでに除外しています。
- AutomapperConfig クラスは静的ではありませんでした
- Automapper マップを登録するためにいくつかの Autofac を使用していましたが、これが問題になる可能性があると判断したため、Autofac 部分を削除しました。
この問題の原因について何か考えはありますか?