Web API 2 Controller线程安全吗? (datatables编辑器插件)

时间:2015-06-30 09:42:37

标签: c# datatables

我想知道这段代码是否是线程安全的, 这取自可数据编辑器c#API https://editor.datatables.net/manual/net/webapi

public class StaffController : ApiController
{
    [Route("api/staff")]
    [HttpGet]
    [HttpPost]
    public IHttpActionResult Staff()
    {
        var request = HttpContext.Current.Request;
        var settings = Properties.Settings.Default;

        using (var db = new Database(settings.DbType, settings.DbConnection))
        {
            var response = new Editor(Db, "staff")
                .Model<StaffModel>()
                .Process(request)
                .Data();

            return Json(response);
        }
    }
}

如果很少有线程通过更新进入Staff()方法,会发生什么?它将如何影响数据库?

修改 我正在使用SQL数据库,数据库应该保存重要的共享数据,我担心它会在中间中断(就像2个线程更新相同数据时死锁一样,是否可能?)

1 个答案:

答案 0 :(得分:0)

是的,这是线程安全的,框架通过排队来处理多个并发请求。对于每个请求,都会创建一个新的控制器实例。顺便说一下,你只是在阅读数据,所以不用担心:)