當你有一些項目從ASP.NET MVC應用程序(如發佈文件的集合)插入到DB你執行大部分的異常處理邏輯在控制器或inisde存儲庫?插入對象的集合到數據存儲從ASP.NET MVC控制器
你做到這一點
[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult Import(HttpPostedFileBase fileToUpload)
{
string path = Server.MapPath("~/App_Data/Upload/") + Path.GetFileName(fileToUpload.FileName);
fileToUpload.SaveAs(path);
string selectCmd = "SELECT * FROM [Pricelist$]";
try {
foreach (DataRow dr in ExcelUtility.ReadFile(path, selectCmd).Tables[0].Rows) {
Product p = new Product
{
Title = dr["product_name1"].ToString().Trim(),
Measure = dr["product_measure"].ToString().Trim(),
};
if (dr["product_price"] != DBNull.Value)
p.Price = (double)dr["product_price"];
if (dr["product_taxrate"] != DBNull.Value)
p.TaxRate = (double)dr["product_taxrate"];
_repository.Add(p);
}
}
catch (Exception e) {
// handle exception or run the action in transaction??
}
return RedirectToAction("ImportSuccessful");
}
或別的東西(也許處理異常的存儲庫,並有庫行動回報真/假基於該方法是否成功執行或不)?
這是故意的。我有一個使用DI的存儲庫,但是我已經發布了這個更明顯的表示,我們在一個POST請求中插入多個項目。 – mare 2011-03-01 22:40:13