2008-12-07 5 views
1

Je dois ajouter des workflows à une solution existante, qui contient déjà une bibliothèque de classes et un site Web. Si j'ajoute les flux de travail à la bibliothèque de classes, où ils s'intègrent logiquement, je n'ai aucun support de concepteur. Si je les crée dans un projet distinct, j'ai tendance à avoir des dépendances circulaires car les objets de mon domaine exécutent les flux de travail et les flux de travail ont besoin de mes objets de domaine.Prise en charge de WorkFlow Designer avec une bibliothèque de classes

Quelle est l'architecture préférée pour éviter ce problème?

Répondre

2

Si je comprends votre problème, serait résolu si vous aviez le support du concepteur pour WF dans votre bibliothèque de classes afin que vous puissiez y ajouter les définitions de workflow?

Pour obtenir que vous pouvez modifier le fichier de projet bibliothèque de classes selon (* .csproj pour C#) et ajouter les lignes suivantes:

Dans la première PropertyGroup:

<ProjectTypeGuids>{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Au fond du fichier:

Pour VS2008:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />

Pour VS2005:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.0\Workflow.Targets" />

Une fois que le projet est rechargé dans l'IDE, vous devez obtenir un soutien pour WF. Mais, comme l'a mentionné gbanfill, vous pouvez également organiser vos assemblages différemment.

0

La façon dont j'arrive à contourner ce problème consiste à diviser l'objet domaine en un ensemble POCO (appelé domaine) et un ensemble de méthodes qui font des choses sur ces objets POCO (opérations appelées). Cela signifie que tous les assemblages otehr peuvent inclure les objets de domaine et transmettre les données entre eux de cette façon. Donc, mes solutions ressemblent (tout ensemble peut inclure autant de ensembles inférieurs dans la liste)

  • site
  • flux
  • opérations
  • domaine
Questions connexes