私は完全に私は次のように簡略化することができます方法を理解しようとしています:は、アクションにパラメータを渡しますか?
public ActionResult Create(string ds) {
InitializeServices(ds, "0000");
vm.Account = new Account {
PartitionKey = "0000",
RowKey = "0000",
Created = DateTime.Now,
CreatedBy = User.Identity.Name
};
}
catch (ServiceException ex) {
ModelState.Merge(ex.Errors);
}
catch (Exception e) {
Trace.Write(e);
ModelState.AddModelError("", "Database access error: " + e.Message);
}
return View("CreateEdit", vm);
}
私はいくつかの偉大な答えを持っていたし、次は示唆された。
private void HandleException(Action action) {
try {
action();
}
catch (ServiceException ex) {
ModelState.Merge(ex.Errors);
}
catch (Exception e)
{
Trace.Write(e);
ModelState.AddModelError("", "Database access error: " + e.Message);
}
}
RunAndHandleExceptions(new Action(() =>
{
//Do some computing }
));
は、これは本当に素晴らしい解決策のように見えますが、私それでも私は行動に私の パラメータを渡すことができますどのように理解していません。私は何をする必要があることは、以下に渡すことです:
string ds
System.Web.Mvc.ModelState ModelState (passed as a reference)
注意。コールスタックの誰かがその例外を処理できた可能性があります。 –