2009-11-27 2 views
0

В настоящее время MS БЫЛА релиз ASP.NET MVC бета 2.0 с AsyncController в нем, но очень мало документов об этом, за исключением одного документа по адресу: http://msdn.microsoft.com/en-us/library/ee728598(VS.100).aspxАсинхронный контроллер asp.net MVC 2,0

пример из майкрософт показывают, что в процессе создания AsyncController было использовано событие.

Тем не менее, есть люди вроде меня, которые не используют какое-либо событие для работы с Decrement и хотят перенести контроллер с Sync на Async ... Так есть ли способ справиться с этим?

Пример, у меня есть:

Image orgImage = _db.getImagebyGUID(guid); 
string date = orgImage.CREATE_DATE.toString(); 
Image newImage = _db.getImagebyGUID(guid2); 
string date2 = newImage .CREATE_DATE.toString(); 

есть ли возможный способ использовать Async без события, потому что есть много много класса, которые не осуществляют функцию обратного вызова события ...

Спасибо очень много

ответ

1

Вы всегда можете поместить этот код в метод, создать делегат этого метода и вызывать его асинхронно:

public string DoWork() 
{ 
    Image orgImage = _db.getImagebyGUID(guid); 
    string date = orgImage.CREATE_DATE.toString(); 
    Image newImage = _db.getImagebyGUID(guid2); 
    string date2 = newImage .CREATE_DATE.toString(); 
    return date + date2; 
} 

И код Invoke:

AsyncManager.OutstandingOperations.Increment(); 
Func<string> doWorkHandler = DoWork; 
doWorkHandler.BeginInvoke(ar => 
{ 
    var handler = (Func<string>)ar.AsyncState; 
    AsyncManager.Parameters["date"] = handler.EndInvoke(ar); 
    AsyncManager.OutstandingOperations.Decrement(); 
}, doWorkHandler); 
+0

, когда я пытаюсь добавить параметров в функции DoWork, это не будет работать, то почему? Мне нужно передать хотя бы модель для функции, так как ее палка вместе – DucDigital

+0

Невозможно неявно преобразовать тип «System.Drawing.Image» в System.Func ' – DucDigital

+0

Это не хороший кандидат, который можно превратить в асинхронное действие, поскольку оно по-прежнему потребляет поток из пула потоков ASP.NET. – Levi

Смежные вопросы