会发生什么像DB连接,打开的文件,......当.NET应用程序(而不是web应用程序)崩溃.NET应用程序崩溃,国家非托管资源的
1
A
回答
1
这取决于资源,以及如何在非托管资源该资源的端点处理它。对于数据库连接,数据库服务器将侦听并等待任何消息,只要它被配置为等待(可能不是很长),然后终止套接字。文件可能会陷入锁定状态(“被另一个进程使用”),但是IME极其罕见。
1
当原生(C/C++/etc)应用程序崩溃时会发生同样的情况。
大多数情况下,操作系统会立即清理。它将关闭文件句柄,互斥锁,网络连接以及操作系统负责的其他任何东西。
对于操作系统未提供的其他资源(例如连接到SQL服务器),取决于哪一部分软件负责该资源。正如Rex M提到的那样,SQL服务器将在那里等待连接超时,然后它将释放它,但其他第三方软件的行为可能会有所不同。
如果您从一块蹩脚的第三方软件中获得一些非托管资源,可能会导致问题,因为它可能不够聪明,无法使用超时或类似机制,并且非托管资源可能永远无法释放。
如果您的第三方软件超时,它也会导致问题。例如,如果SQL服务器连接超时时间为20分钟,并且在2分钟内崩溃了20次,那么您将有20个“用完”连接,直到超时发生。你可以通过做这种事情来摆脱关系。
相关问题
- 1. 非托管dll调用崩溃一个dotnet应用程序?
- 2. 崩溃转储 - 使用WinDbg解析.NET应用程序中的非托管代码崩溃
- 3. .NET中“托管”与“非托管”资源的含义是什么?
- 4. .Net中的托管和非托管资源
- 5. 当WPF应用程序关闭时关闭非托管资源
- 6. 某些国家/地区的应用程序崩溃
- 7. 什么是托管资源和非托管资源?
- 8. 以线程处理非托管资源
- 9. C#使用企业库时的非托管应用程序崩溃
- 10. 非托管导出(DLLExport)崩溃
- 11. UIWebView在资源加载时崩溃的应用程序
- 12. 如何在非托管C++应用程序中托管许可的.Net控件?
- 13. 调用嵌入式资源时应用程序崩溃
- 14. .NET应用程序的经验突然非托管内存
- 15. 非托管堆.NET应用程序的大小
- 16. 从互联网下载资源时iOS应用程序崩溃
- 17. UWP/Win2D - 应用程序崩溃,而装载帆布资源
- 18. 管理应用程序崩溃
- 19. 在混合C++ .NET应用程序中强调托管还是非托管?
- 20. 应用程序崩溃报告起源
- 21. 如何从非托管应用程序
- 22. 非托管资源分配在哪里
- 23. 在.NET中查找非托管内存泄漏应用程序
- 24. 签署引用非托管程序集的托管程序集
- 25. 访问崩溃应用程序崩溃应用程序内ios
- 26. 托管+非托管应用程序导致内存泄漏
- 27. Unity游戏对象是托管还是非托管资源?
- 28. 拖放从.NET应用程序到资源管理器
- 29. 如何管理应用程序资源?
- 30. 如何在调用非托管DLL中的方法时保护我的C#应用程序不会崩溃?