asp.net – LINQ to SQL – 你的DataContext在哪里住?
我在数据访问对象库中使用LINQ to SQL。该库在Web(Web应用程序/ Web服务)和非Web(Windows服务)上下文中使用。最初,我将DataContext存储在当前的HttpContext中,因为它允许我管理一个相当小的工作单元(一个Web请求),并避免了Web应用程序中的全局对象。显然,这在Windows服务中不起作用。
Rick Strahl在管理DataContext的一生中有一篇很好的文章:http://www.west-wind.com/weblog/posts/246222.aspx.不幸的是,我不能在最好的方法上弥补我的想法。一个全局的DataContext不工作的原因,他提到,一个线程的DataContext看起来复杂,可能更麻烦,它的价值,一个每个对象的实例似乎很y – – 你失去一些优雅,当你附加DataContext用于创建一个DAO到那个DAO,所以它可以更新或删除以后 – 更不要说,有一些令人不快的鸡和鸡蛋的关系。 有没有人有个人经验,表明一种方法比另一种更好?或者更好,有没有人有第四或第五种方法,我没有看到?在哪里是存储和管理您的DataContext的最佳地点? 解决方法
MSDN documentation on the DataContext class的指南是我建议如下:
因为DataContext是IDisposable,我发现最容易在一个方法中的using语句中创建和使用DataContext,所以它可以正确处理。 还要注意“任何实例成员不能保证是线程安全的”,所以在多个线程之间共享一个DataContext是不明智的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Core 开源GitServer 实现自己的GitHub
- asp.net-mvc-3 – 将输入值传递给Action(ASP.Net MVC 3)
- 关于asp.net中的配置文件和会话
- asp.net-mvc – 为什么Hangfire需要身份验证才能查看仪表板
- asp.net-mvc – ASP.NET MVC – 为基本控制器中的母版页设置
- asp.net – 如何在代码后面访问span id
- asp.net – 不能得到内容的内容,因为内容不是文字
- 在asp.net中回发
- asp.net-mvc-3 – 在if语句中的Asp.net MVC 3 Razor代码问题
- asp.net-mvc – 在EF 6中设置命令超时
- asp.net-mvc – 如何在ASP MVC中编码完整的URL字
- asp.net – 使用xml类型在SQL Server 2005中存储
- asp.net-mvc – 避免“类或CssClass值未定义”AS
- asp.net – 从Classic ASP调用需要.NET类型的.NE
- asp.net-mvc – 使用TFS 2015 Build构建和部署We
- asp.net-mvc-4 – 如何在MVC4 C#中安排任务?
- 异常 – ASP.NET应用程序池关闭问题
- 在ASP.NET MVC中如何应用多个相同类型的Validati
- asp.net – ASP .Net实体框架.tt文件不嵌套在.ed
- asp.net-mvc – 如何对我的ASP.NET MVC网站进行性