2

在我的 C# MVC4 ASP.NET 代码中(在控制器上的方法中)我调用了一个我知道它可能永远不会返回的函数。这是对 Microsoft 对象的调用,它不会引发和错误,不会超时,只是挂起(并且挂起和挂起)。

我想我已经找到了发生这种情况的具体事件的原因,但一般问题让我担心,我想提防它(因为它会导致服务器上的一般问题,而不仅仅是个别用户的孤立问题) . 我想知道处理这类问题的最优雅的方式。

我调用的方法是LocalReport.Render,这个Google 搜索显示许多人有许多问题,而这种方法似乎永远不会返回。

4

2 回答 2

2

也许尝试在不同的线程上调用该方法?并在超时后中止线程?

虽然根本不是一个简洁的解决方案,但如果没有对该方法为何挂起的误解,可用的选项并不多。

于 2013-06-28T11:04:50.753 回答
0

在查看了类似问题的答案后,我认为最差的解决方案是将有问题的调用(到 LocalReport.Render)包装到单独的进程和应用程序域中。如果它开始表现不正常,我将终止该进程。

于 2013-06-28T13:13:18.590 回答