Я использую Windows Workflow как часть библиотеки классов в приложении ASP.NET. Я прочитал все предложения по настройке WWF в ASP.NET и с помощью HandWorkflowSchedulerservice, однако я не уверен, что это имеет смысл для моего приложения.Использование рабочего процесса Windows в приложении ASP.NET AJAX
Мои рабочие процессы являются последовательными, без настойчивости; они огонь и забывают. Клиент делает запрос и возвращается позже, чтобы увидеть результаты (или ждет в приложении). До сих пор я использовал класс веб-сервисов AJAX, чтобы уволить работу.
function DoWebserviceJob()
{
MywebService.DoJob(onComplete, onFailed);
}
[WebMethod]
public DoJob()
{
//code from library
}
Если клиент все еще был рядом, он получил бы уведомление, если бы не все было в порядке. Теперь я использую WWF вместо кодирования прямо из библиотеки. Я знаю, что это работает (с тех пор как я это сделал), но мне интересно, есть ли какие-то побочные эффекты, о которых я не знаю или о других проблемах. Мой новый код выглядит следующим образом:
[WebMethod]
public DoJob()
{
WorkflowRuntime runtime = Application["RUNTIME"] as WorkflowRuntime;
MyWorkflowManager.DoJob(runtime);
}
Мой класс Библиотека:
public void DoJob(WorkflowRuntime runtime)
{
WorkflowInstance instance = runtime.CreateWorkflow(typeof(MyWorkflow));
instance.Start();
}
Это немного упрощена, но в целом процесс здесь. Это прекрасно работает сейчас, есть ли какие-то вопросы, над которыми я должен быть заинтересован? Если это потоки (что, по-видимому, наиболее часто упоминается), Iis это не то же самое, что и webservice, срабатывающий в другом потоке?
Спасибо за ответ; особенно утилизации appdomain - я не думал об этом - хотя мои рабочие процессы короткие (на данный момент), это может создать проблему в будущем. –