在asp.net应用程序中管理与数据库的连接
发布时间:2020-12-15 19:50:59 所属栏目:asp.Net 来源:网络整理
导读:我想知道,在asp.net中管理数据库连接的最佳方法是什么. 我的应用程序是使用N层架构构建的. DAL由静态类和方法组成 Public Shared Sub Delete( _ ByVal connection As MyConnectionClass,_ ByVal contact_id As Integer,_ ByVal contact_timestamp As Date _)
我想知道,在asp.net中管理数据库连接的最佳方法是什么.
我的应用程序是使用N层架构构建的. Public Shared Sub Delete( _ ByVal connection As MyConnectionClass,_ ByVal contact_id As Integer,_ ByVal contact_timestamp As Date _ ) With connection.ProcParams .Add(New StoredProcParam("p_contact_id",contact_id,OracleDbType.Int32)) .Add(New StoredProcParam("p_contact_timestamp",contact_timestamp,OracleDbType.Date)) End With connection.Execute("PKG_DATA_ACCESS.DeleteContact") End Sub 这里需要注意的是,我将连接从BLL传递给DAL. 以下是我考虑过的观点,但对我来说似乎都没有,所以我只是在征求意见. 我应该在MasterPage中创建连接,将其存储在一个对象中,然后在创建它时将它传递给我的业务对象(我试图避免的事情) 我应该使用静态类创建连接并在其上调用CreateConnection等方法,从我的业务对象的构造函数(我想要的东西,但我不希望每个对象有一个连接,我喜欢它要为我的对象的所有实例共享,但由于asp.net是多线程的,静态类对存储连接没有意义) 理想情况下,该解决方案也应该在Windows窗体环境中运行良好(因此,没有连接存储在会话中,并在类中使用静态方法检索它,对于当前上下文) 解决方法
不要试图坚持连接.在您使用它的每个范围内实例化它. .Net将为您管理一个连接池,在windows窗体或asp.net中.
试图保持连接是一个会话对象或在母版页中实际上会损害性能,更不用说介绍其他问题了. 来自BC的评论: 连接字符串必须是相同的字符串才能在同一个池中结束. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 未找到部分视图“First.cshtml”或视图引擎
- asp.net – ExecuteScalar抛出NullReferenceException
- asp.net – 有一种简单的方法可以从.NET用户控件中删除“ct
- asp.net-mvc – 具有已定义范围的.NET ASP.NET MVC应用程序
- asp.net-mvc – Visual Studio Online网站以调试模式部署到
- asp.net-mvc – 将布尔属性编辑器转换为MVC视图中的下拉列表
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automap
- asp.net – 使用Spark视图引擎在局部视图中使用不同的viewm
- asp.net-mvc – 如何从视图页面向页眉添加其他内容?
- asp.net-mvc – ASP.Net MVC – 视图中的编译器错误
推荐文章
站长推荐
- asp.net-web-api – 使用OAuth和单页应用程序实现
- asp.net – 我的自定义httpModule没有被MVC检测到
- asp.net – 你的aspx页面中的内联代码是一个好习
- 预编译的ASP.NET Web应用程序:错误“System.Web
- ASP.NET Core - 源码解析 - Program.cs (一)
- asp.net – 使用MySql和MVC 3上的成员资格向注册
- 如何使用asp.net向多个收件人发送电子邮件?
- asp.net – Paypal Express Checkout集成问题(WE
- asp.net-mvc – 模型支持DB上下文已更改;考虑代码
- asp.net-mvc – 在MVC 4中获取表头名称的最佳方法
热点阅读