В моем контроллере у меня будут такие методы:
public ActionResult GetItemsFromServiceLayer(someValue)
{
using (var unitOfWork = new UnitOfWork(ApplicationDbContext)
{
var result = Service.GetItems(unitOfWork, someValue);
return View("SomeView", result);
}
}
Который вызывает этот метод в моем слое службы:
public List<ItemViewModel> GetItems(IUnitOfWork unitOfWork, string someValue)
{
var listOfItems = unitOfWork.ItemRepo.GetSpecificSetOfItems(someValue).ToList();
foreach(var item in listOfItems)
{
// Do stuff...
}
return listOfItems;
}
ReSharper всегда предлагает, чтобы я изменил свои методы уровня обслуживания, GetItems
, на static
, что заставляет меня меньше думать о том, должен ли я или нет, но больше о том, будет ли это безопасно.
Могу ли я ожидать, что, сделав эту статическую ошибку, я столкнусь со странными ошибками соединения, когда несколько пользователей пытаются получить доступ к одному и тому же методу, или я буду в открытом виде, потому что UnitOfWork
отправляется как параметр, а не как общий экземпляр?