System.Diagnostics.TraceクラスとSystem.Diagnostics.Debugクラスを使用して、情報を出力できます。
実行の停止は通常、 System.Web.Mvc.HttpNotFoundResultなどの関連するSystem.Web.Mvc.ActionResultを返すか、問題を最もよく表すHTTPステータスコードを含むSystem.Web.HttpExceptionをスローすることによって発生します。
これは素朴な例です。すみません、VBが貧弱です。
Public Function UpdateUser(id as Integer, userName as String, password as Password) as ActionResult
Dim user as User = DataServices.GetUserById(id)
If user Is Nothing Then
System.Diagnostics.Debug.WriteLine("Aborting because user did not exist.")
throw new HttpException(404, "Page not found.")
End
' Do more stuff
end
またはC#で
public ActionResult UpdateUser(int id, string userName, string password) {
var user = DataServices.Users.Where(u => u.id == id).SingleOrDefault();
if( user == null ) {
Debug.WriteLine("Aborting because user did not exist.");
return HttpNotFound(); // Helper method in Controller Class.
}
else if( myRoles() < thisUsersRoles(user) ) {
Debug.Writeline("Aborting because insufficient access.");
throw new HttpException(401, "Unauthorized");
}
// update user here
return View();
}
これらの例は、Debugの使用とhttpステータスコードの戻りを表示するためだけに考案されていることに注意してください。