无法使用Constructor注入访问已处置的对象

时间:2016-04-25 22:46:13

标签: c# objectdisposedexception

我们得到一个System.ObjectDisposedException:无法访问下面显示的'DeactivateUser'方法中的已处置对象异常。这段代码出了什么问题?

public class HomeController
{
    private readonly IUserService _userService;

    public HomeController(IUserService userService)
    {
        _userService= userService;
    }

    public void DeactivateUser(int id)
    {
        try
        {
            _userService.Deactivate(id);
        }
        catch (Exception e)
        {
            //Log error
            throw;
        }
    }
}

从Razor View调用它的代码如下:

function Deactivate() {   
$.ajax({
    url: "/Home/DeactivateUser?id="+$("#Id").val(),
    async: false,
    type: 'POST',
    cache: false,
    success: function (result) {
        alert("Deactivated User");
    }
});

}

需要注意的是,Deactivate ajax方法是在由计时器控制的特定时间间隔内调用的。

它是MVC 4,是的,它在我们的依赖注入容器中注册为单例。

0 个答案:

没有答案