Hello.

In razor web pages when youd write Database.Open("dbname"); you open a connection with the database. But is that connection closing automaticlly or does it stay open?

What I have tried:

I am using razor pages and its helpers to create a project site but i do not want to use any external c# classes.

Thank you.

解决方案

You should use entity framework and inject your database into the code. That way, you're not managing state of your database connections at all.

But, if you do it manually, you should create your connection in a using block. Then your IDisposable on whatever class you use, should disconnect for you. If you don't do that, there's no reason to think your controller class will find objects in your method and clean them up.

If you're using EF, this is worth reading:

Database Connection Hazards with Entity Framework - Brent Ozar Unlimited®[^]

Basically, entity framework goes ahead and tries to manage connections for you, so closing connections is basically fighting it.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐