我对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. 实例化Web服务
- 2. 实例化对象C#
- 3. C#对象实例化
- 4. C++对象实例化
- 5. C++:实例化对象
- 6. 实例化服务对象内的WCF 4.0实例管理?
- 7. 无法实例化一些.NET对象
- 8. C#.NET Web服务 - 将自定义对象传递给Web服务
- 9. Java Web服务中的单例对象
- 10. 对象实例化
- 11. 对象实例化
- 12. 实例化对象
- 13. C#.NET中的Web服务和对象序列化 - 基本问题
- 14. C#.NET Web服务中的持久对象
- 15. Amazon Web服务RDS实例
- 16. ASP.NET Web服务实例?
- 17. Azure:在webrole和web服务之间共享对象实例
- 18. 在Web服务调用之间共享对象实例
- 19. C#实例化对象为空
- 20. 在C++中实例化对象
- 21. 从列表c实例化对象#
- 22. 从C#访问XAML实例化对象#
- 23. COM对象在C++/CLI中实例化
- 24. C++中的对象实例化方法
- 25. C#对象实例化问题
- 26. c#实例化自定义对象
- 27. c#实例化多个对象
- 28. 动态实例化对象的Objective-C
- 29. C++对象实例化和范围
- 30. 实例化在ASP .NET WEB API
创建一个对象并使用它并立即销毁它并不是荒谬的。你为什么这么认为? – svick 2012-04-15 13:59:38