Интеграция WF4.0 с Silverlight 4.0 - PullRequest
2 голосов
/ 09 марта 2011

Я новичок и в Silverlight, и в WF (обе версии 4.0), мне было интересно, можем ли мы интегрировать WF4.0 с Silverlight 4.0 таким образом, чтобы при нажатии какой-либо кнопки в пользовательском интерфейсе sliverlight рабочий процесс должен был выполняться и результат конечного действия рабочего процесса отображается на экране Silverlight. Если это возможно, предоставьте мне ссылку или учебное пособие, где я смогу узнать об этом и приступить к реализации.

Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 09 марта 2011

В WF 4.0 вы можете запускать (или развивать) рабочие процессы конечными точками WCF.Следовательно, если вы можете вызвать конечную точку WCF из приложения Silverlight, вы сможете сделать это довольно легко.Много информации о Microsoft WF Developer Center.

Если вы используете Visual Studio 2010, вы можете очень быстро начать работу с очень простым примером Silverlight -> WF ...

  1. Создайте новый проект (и новое решение) из шаблона «Приложение-служба WCF Workflow».Проект будет называться DeclarativeServiceLibraryX.Это должно дать вам очень простое определение WorkflowService с использованием SequentialService, который просто получает запрос от клиента (с одним целочисленным аргументом) и отправляет ответ (с тем же значением).Этот проект создается как веб-проект и включает в себя файл Web.config.
  2. Создание нового приложения Silverlight 4.Вам будет задан вопрос, хотите ли вы разместить приложение Silverlight в существующем веб-проекте (созданном на шаге № 1).Вероятно, это хорошая идея, чтобы сказать да.
  3. В приложении Silverlight выберите «Добавить ссылку на службу ...», затем «Обнаружение / Услуги в решении».Service1.xamlx появится в качестве опции, выберите ее и нажмите Ok.
  4. VS затем сгенерирует эталонный клиент службы WCF.Затем можно добавить TextBox & Button для сбора некоторых данных, создать клиента и отправить вызов службы по проводной связи в службу рабочих процессов WCF.Затем эту службу рабочего процесса можно изменить при необходимости (или использовать эти шаги для добавления службы рабочего потока WCF в свой собственный веб-проект).

Одна из проблемных областей - это изменение привязок службы WCF, чтобысовместим с Silverlight;возможно, сначала создайте совместимую с Silverlight службу WCF в своем серверном проекте, а затем создайте конечную точку WF WCF и посмотрите на сгенерированный код и конфигурацию, чтобы увидеть, как все собрать вместе.

Конечная точка MSDN blog также является полезным ресурсом для получения дополнительной информации о WF и WCF (особенно с помощью облегченных привязок WCF Web HTTP в стиле REST, которые могут быть более подходящими для использования клиентом Silverlight.

Я предполагаю, что вы не хотите размещать рабочий процесс внутри самого приложения Silverlight, так как WF является полноценным компонентом .Net framework, а не совместимым с Silverlight. Я уверен, что вы могли бы написать свой собственный легкий каркас рабочего процесса, который работает внутриSilverlight, но данный рабочий процесс, как правило, является многопользовательским, на стороне сервера, это, вероятно, не будет очень полезным.

0 голосов
/ 17 марта 2011

Вы не можете использовать WF с silverlight .... единственный способ - вы можете вызвать службу WCF для доступа к WF, как объяснил Джеймс Вебстер.

0 голосов
/ 14 марта 2011

Workflow Foundation не включен в среду выполнения Silverlight 4.0 и поэтому не может использоваться в приложении Silverlight.Поэтому ответ Silx не имеет никакого отношения к Silverlight.Ответ Джеймса Вебстера - единственное решение для использования WF от Silverlight.

0 голосов
/ 09 марта 2011

Я нашел пример с WPF здесь для этих образцов .Надеюсь, они немного вам помогут или хотя бы дадут общий взгляд на эту тему.

...