webapi の autofac を設定していないため、API コントローラーの作成でエラーが発生しました。
ただし、どこにも例外をキャッチできないようです。
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
Type 'MyWeb.Web.Controllers.MyController' does not have a default constructor
</ExceptionMessage>
<ExceptionType>System.ArgumentException</ExceptionType>
<StackTrace>
at System.Linq.Expressions.Expression.New(Type type) at System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType) at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func`1& activator) at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)
</StackTrace>
</Error>
Elmah に WebApi contrib を追加してみましたが、これを追加しました。
config.Filters.Add(new Elmah.Contrib.WebApi.ElmahHandleErrorApiAttribute());
elmah に例外を登録させませんでした。以下を global.asax に追加しました。
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Elmah.ErrorSignal.FromCurrentContext().Raise(exception);
}
まったく違いはありませんでした。
コントローラーが呼び出される前に発生したエラーを処理するにはどうすればよいですか?