2016-05-08 14 views
2

の1-時々、私のSQL Serverは、メンテナンスのためにダウンしているので、私は私のASP.NET MVCアプリケーションを実行しようとすると、私はエラーで、黄色のエラー画面に直面network-related or instance-specific error occurred while establishing a connection to SQL Server.ASP.NET MVC:アプリケーションの起動時にデータベース接続を確認して

ASP.NET MVCでイベントのシーケンスがわからないので、接続を確認する必要がある場所を知りたいので、(このエラーページを表示する代わりに)この状況についてユーザーに通知するビューにユーザーをリダイレクトできます。 asp.netフォーラムでthis answerが見えましたが、これをどう扱うことができないのでしょうかglobal.asax

2すべてのデータベース接続エラーに対して、ユーザーをその情報ページにリダイレクトできるいくつかの変更を行うことは可能ですか?つまり、データベース接続エラーに対してグローバル例外ハンドラを定義することは可能ですか?

P.S. web.config内のconnectionStringの名前はDefaultConnectionです。

+1

:いくつかのカスタムビューにユーザーをリダイレクト:

public class SqlExceptionFilter: IExceptionFilter { public void OnException(ExceptionContext filterContext) { // Do your logic } } 

そしてちょうどApplication_Start()方法でGlobal.asaxに登録、View = "...")] 'ここで、特定のエラータイプ(例えば' SqlException')とエラーが発生した場合に表示されるビュー名を指定できます –

答えて

5

グローバルフィルタを用意することができます(コントローラが多数あり、それぞれを属性で飾り付けたくない場合)、どの種類の例外がスローされたかを確認するために使用してください。あなたは `[のHandleError(ExceptionType = typeof演算(....)とコントローラを飾ることができます

GlobalFilters.Filters.Add(new SqlExceptionFilter()); 
関連する問題