Мы получаем исключение TimeoutException для MVC AsyncController в нашей среде Beta HyperV. Все работает нормально при локальной отладке, но при развертывании в подготовительной среде мы получаем эту ошибку:
[TimeoutException: истекло время ожидания операции.]
System.Web.Mvc.Async.WrappedAsyncResult`1.End () +129
System.Web.Mvc.Async. <> C_ DisplayClass39.b _38 (IAsyncResult asyncResult) +23
System.Web.Mvc.Async. <> C_ DisplayClass33.b _2d () +125
System.Web.Mvc.Async. <> C_ DisplayClass49.b _43 () +452
System.Web.Mvc.Async. <> C_ DisplayClass49.b _43 () +452
System.Web.Mvc.Async. <> C_ DisplayClass49.b _43 () +452
System.Web.Mvc.Async. <> C_ DisplayClass31.b _30 (IAsyncResult asyncResult) +15
System.Web.Mvc.Async. <> C_ DisplayClass24.b _1a () +31
System.Web.Mvc.Async. <> C_ DisplayClass1f.b _1c (IAsyncResult asyncResult) +230
System.Web.Mvc. <> C_ DisplayClass17.b _12 (IAsyncResult asyncResult) +28
System.Web.Mvc.Async. <> C_ DisplayClass4.b _3 (IAsyncResult ar) +20
System.Web.Mvc.AsyncController.EndExecuteCore (IAsyncResult asyncResult) +53
System.Web.Mvc.Async. <> C_ DisplayClass4.b _3 (IAsyncResult ar) +20
System.Web.Mvc. <> C_ DisplayClass8.b _3 (IAsyncResult asyncResult) +42
System.Web.Mvc.Async. <> C_ DisplayClass4.b _3 (IAsyncResult ar) +20
System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion (IAsyncResult ar) + 136
[OutputCache(Duration = 0, NoStore = true, VaryByParam = "")]
public void IndexAsync()
{
using (var context = Repository.CreateContext().CreateUnitOfWork())
{
user = context.Users.Single(u => u.Username == User.Identity.Name);
AsyncManager.OutstandingOperations.Increment();
ThreadPool.QueueUserWorkItem(o => {
var sync = myService.DoThingsAsync(user);
sync.AsyncWaitHandle.WaitOne();
AsyncManager.OutstandingOperations.Decrement();
});
}
}
/// IndexCompleted is never called
public ActionResult IndexCompleted(string property)
{
using (var context = Repository.CreateContext().CreateUnitOfWork())
{
var user = context.Users.Single(u => u.Username == User.Identity.Name);
var model = new MyViewModel
{
ModelProperty = user.Property
};
return View("Index", model);
}
}
Каковы возможные причины этой ошибки?