我们最近在微软的MVC框架(v2)上为我们的内部网开发了一个内部Web应用程序。这似乎非常有效,但在一些尚未可知的事件之后,我们看到了这样一种情况:数据库查询似乎没有产生任何结果,而没有捕获异常,这在一定程度上困扰了我。
重新发布应用程序不会改变行为,但是重新启动应用程序池将完全恢复功能。
为了完整起见,我们为MVC应用程序使用专用的应用程序池,并使用SQL身份验证连接到SQL Server,该身份验证在Web服务器出现问题时从其他主机继续工作。似乎没有抛出任何异常(我们没有捕获任何异常,内置的未处理异常魔力也没有捕获任何异常)。在这个实例中,我们不使用linq to sql,而是使用sqlconnection/sqlcommand/stored过程的ado.net方法,我通常希望在它们连接失败或存储过程失败时引发异常。我已经介绍了应用程序,但它没有
出现
泄漏任何资源。
我想我已经涵盖了所有的角度,但我还应该从哪里着手调查找到问题原因的法医学呢?
编辑:
我可能应该提到,我们正在使用NTLM身份验证,而像编辑web.config(强制应用程序重新加载)这样的技巧没有效果——我们必须回收整个应用程序池来修复。