接受UnitOfWork参数的方法是否应该是静态的?

时间:2018-05-11 17:51:43

标签: c# resharper

在我的控制器中,我会有这样的方法:

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作为参数发送而不是共享实例

0 个答案:

没有答案