我对Web服务,C#和.NET很新颖。 我想在我的web方法中使用连接对象,以便在数据库上写入数据,但是我没有在哪里实例化这个对象,实例化它然后在web方法中销毁它是相当荒谬的。 我希望我的连接实例每次都可访问,所以有没有一种构造函数或什么来正确地做到这一点。Web服务实例化对象C#.NET
4
A
回答
3
我知道你的意思:你不想重复连接管理代码每一种方法。事实上,这将是荒谬的。
我这样做:我使用this technique来创建每个请求连接。当WCF调用结束时,我销毁连接。
所以在通话期间,我可以依靠这个连接。它会被正确清理。
不幸的是,WCF没有与HttpContext.Items内建的等价物,因此我们必须在使用扩展时对其进行破解。
3
您将需要在您的web方法中实例化数据库连接类。我认为在你的web方法中实例化这样一个对象没有什么可笑的:
- C#是一个
object-orientated
语言。没有创建对象,你不会取得很多成就;和 - 大多数ADO.NET连接对象(包括SQL Server & Oracle)实现连接池,因此每次创建新连接对象时都不会创建到服务器的物理连接。相反,数据库库将为您管理一个连接池。
我建议这样的事情,以确保您释放Web服务调用后的连接:
// This example uses SQL-Server connections, but most
// ADO.NET database drivers are similar.
using(SqlConnection conn = new SqlConnection(MyConnStr))
{
UseConnection(conn);
}
// connection released to pool here automatically.
相关问题
- 1. C++:实例化对象
- 2. C#对象实例化
- 3. C#.NET Web服务 - 将自定义对象传递给Web服务
- 4. 对象实例化
- 5. 实例化对象
- 6. C#.NET中的Web服务和对象序列化 - 基本问题
- 7. ASP.NET Web服务实例?
- 8. 在Web服务调用之间共享对象实例
- 9. 从C#访问XAML实例化对象#
- 10. 从列表c实例化对象#
- 11. C++中的对象实例化方法
- 12. C#对象实例化问题
- 13. C++对象实例化和范围
- 14. COM对象在C++/CLI中实例化
- 15. C#实例化对象为空
- 16. 服务工厂实例化bean如何访问httpServletRequest对象?
- 17. IIS服务器和Spring.NET对象实例化失败
- 18. ActionScript - 从实例实例化新对象?
- 19. angular2实例化服务
- 20. 什么是实例化Web服务的最佳实践
- 21. 对象的实例化
- 22. RavenDb对象实例化
- 23. 从IType实例化对象
- 24. JUnit TestCase对象实例化
- 25. 旋转实例化对象
- 26. 实例化ActiveX对象
- 27. Python OOP对象实例化
- 28. Java对象实例化
- 29. Java对象实例化
- 30. 实例化春bean对象
创建一个对象并使用它并立即销毁它并不是荒谬的。你为什么这么认为? – svick 2012-04-15 13:59:38