<?xml version="1.0" encoding="iso-8859-1"?><feed version="0.3" xmlns="http://purl.org/atom/ns#" xml:lang="it-it"><title>PeppeDotNet Blog - Category: WWF</title><link rel="alternate" type="text/html" href="http://www.peppedotnet.it/Blog/"/><tagline type="text/html">www.peppedotnet.it/Blog/</tagline><id>http://www.peppedotnet.it/Blog/</id><modified>2009-1-31T12:4:51+01:00</modified><author><name>Marchi Giuseppe</name><url>http://www.peppedotnet.it/Blog/</url></author><entry><title>La classe RuleSetDialog</title><id>/Blog/WorkflowFoundationRuleSetDialogClass.aspx</id><created>2009-1-31T12:4:51+01:00</created><content type="text/html" mode="escaped">Ieri è uscito un mio tip su Workflow Foundation, sempre su &lt;a href="http://www.winfxitalia.com" title="WinFXItalia.com"&gt;WinFXItalia.com&lt;/a&gt;, per cui ringrazio &lt;a href="http://blogs.aspitalia.com/ricciolo/" title="Cristian Civera"&gt;Cristian&lt;/a&gt;.
&lt;br /&gt;E' un banale esempio di utilizzo della classe RuleSetDialog, che ci permette di utilizzare l'editor delle regole di Windows Worklfow Foundation all'interno dei nostri progetti e non più solamente tramite Visual Studio.
&lt;br /&gt;Queste tecnica ci permette di poterci avvalere di tutto l'engine di valutazione di regole e condizione del framework di workflow, senza avere un flusso di lavoro vero e proprio all'interno della propria applicazione, ma utilizzandolo per effettuare dei controlli su degli oggetti custom da noi definiti.
&lt;br /&gt;L'editor è il medesimo che possiamo utilizzare all'interno dell'IDE di sviluppo Microsoft:
&lt;br /&gt;
&lt;br /&gt;&lt;img src="/Images/ruleSetEditor.jpg" alt="RuleSetDialog class" border="0" /&gt;
&lt;br /&gt;
&lt;br /&gt;ma in questo caso le regole sono basate su un oggetto con questa struttura:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;class&lt;/span&gt; Order
&lt;br /&gt;{
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; Order(&lt;span style="color: #0000FF"&gt;int&lt;/span&gt; quantity, &lt;span style="color: #0000FF"&gt;int&lt;/span&gt; productID, &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; productName)
&lt;br /&gt;        {
&lt;br /&gt;            Quantity = quantity;
&lt;br /&gt;            ProductID = productID;
&lt;br /&gt;            ProductName = productName;
&lt;br /&gt;            OrderDate = DateTime.Now;
&lt;br /&gt;            Status = OrderStatus.NewOrder;
&lt;br /&gt;        }
&lt;br /&gt;
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;int&lt;/span&gt; Quantity { get; set; }
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;int&lt;/span&gt; ProductID { get; &lt;span style="color: #0000FF"&gt;private&lt;/span&gt; set; }
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; &lt;span style="color: #0000FF"&gt;string&lt;/span&gt; ProductName { get; set; }
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; DateTime ShippingDate { get; set; }
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; DateTime OrderDate { get; set; }
&lt;br /&gt;        &lt;span style="color: #0000FF"&gt;public&lt;/span&gt; OrderStatus Status { get; &lt;span style="color: #0000FF"&gt;private&lt;/span&gt; set; }
&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Per vedere l'utilizzo della classe RuleSetDialog e dell'effettiva valutazione delle regole, vi rimando al tip:
&lt;br /&gt;&lt;a href="http://www.winfxitalia.com/script/95/Utilizzare-Editor-Regole-WF-Validazione-Oggetti-Custom.aspx" title="Utilizzare l editor di regole di WF per la validazione di oggetti custom"&gt;http://www.winfxitalia.com/script/95/Utilizzare-Editor-Regole-WF-Validazione-Oggetti-Custom.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Workflow Foundation.aspx" title="TAG: Workflow Foundation"&gt;Workflow Foundation&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/RuleSetDialog.aspx" title="TAG: RuleSetDialog"&gt;RuleSetDialog&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/WorkflowFoundationRuleSetDialogClass.aspx" /><issued>2009-1-31T12:4:51+01:00</issued><modified>2009-1-31T12:4:51+01:00</modified></entry><entry><title>Condizioni e regole di Workflow Foundation</title><id>/Blog/WorkflowFoundationRuleAndCondition.aspx</id><created>2009-1-27T11:49:50+01:00</created><content type="text/html" mode="escaped">Eccoci qua.. è stato un periodo un tantino indaffarato questo.. con un bella influenza a contorno, giusto per facilitare un pò le cose.
&lt;br /&gt;A parte questo, vi volevo segnalare la pubblicazione di un mio nuovo articolo su Windows Workflow Foundation, da parte dello staff di &lt;a href="http://www.aspitalia.com" title="ASPItalia Network"&gt;ASPItalia &amp; co&lt;/a&gt;.
&lt;br /&gt;In questo articolo si parla dell'engine di workflow foundation per la valutazione di regole e condizioni e di tutti gli oggetti/activities che ruotano attorno a questi concetti. Io ho utilizzato queste tecniche in uno dei miei progetti e mi sono trovato veramente molto soddisfatto e ho trovato il motore di valutazione molto potente.
&lt;br /&gt;Beh, questo è l'indirizzo:
&lt;br /&gt;&lt;a href="http://www.winfxitalia.com/articoli/workflow-foundation/condizioni-regole-windows-workflow-foundation.aspx" title="Condizioni e regole di Workflow Foundation"&gt;http://www.winfxitalia.com/articoli/workflow-foundation/condizioni-regole-windows-workflow-foundation.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buona lettura !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Workflow.aspx" title="TAG: Workflow"&gt;Workflow&lt;/a&gt;] </content><link rel="alternate" type="text/html" href="/Blog/WorkflowFoundationRuleAndCondition.aspx" /><issued>2009-1-27T11:49:50+01:00</issued><modified>2009-1-27T11:49:50+01:00</modified></entry><entry><title>Parametri di output con Windows Workflow Foundation</title><id>/Blog/OutputParametersWindowsWorkflowFoundation.aspx</id><created>2008-11-14T10:54:2+01:00</created><content type="text/html" mode="escaped">Oggi è stato pubblicato da &lt;a href="http://blogs.aspitalia.com/ricciolo/" title="Cristian Civera"&gt;Cristian&lt;/a&gt;, un mio tip su Windows Workflow Foundation all'interno di &lt;a href="http://www.winfxitalia.com/" title="WinFXItalia.com"&gt;WinFXItalia.com&lt;/a&gt; !
&lt;br /&gt;Il tip non è altro che un semplice esempio su come poter utilizzare i parametri di output all'interno di un workflow.
&lt;br /&gt;Questo il link.
&lt;br /&gt;&lt;a href="http://www.winfxitalia.com/script/82/Prelevare-Parametri-Output-Workflow-WF.aspx" title="#82 - Prelevare parametri di output da un workflow di WF"&gt;http://www.winfxitalia.com/script/82/Prelevare-Parametri-Output-Workflow-WF.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;E' presente anche un workflow sequenziale d'esempio, con relativa applicazione host di prova, allegato al tip.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Workflow Foundation.aspx" title="TAG: Workflow Foundation"&gt;Workflow Foundation&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/OutputParametersWindowsWorkflowFoundation.aspx" /><issued>2008-11-14T10:54:2+01:00</issued><modified>2008-11-14T10:54:2+01:00</modified></entry><entry><title>Errore di visualizzazione di un workflow spostato in un nuovo progetto</title><id>/Blog/VisualizationErrorWorkflowInNewProject.aspx</id><created>2008-11-9T19:6:34+01:00</created><content type="text/html" mode="escaped">L'altro giorno, ho dovuto spostare un workflow dal suo progetto di partenza (di tipo Sequential Workflow Library o State Machine Workflow Library) ad un nuovo progetto, inizialmente di tipo Class Library.
&lt;br /&gt;Una volta spostato, ho tentato di aprirlo in modalità "design" e mi sono trovato di fronte al seguente errore:
&lt;br /&gt;
&lt;br /&gt;&lt;div style="color: red; font-style: italic; margin-left: 10px"&gt;One or more errors encountered while loading the designer. The errors are listed below. Some errors can be fixed by rebuilding your project, while others may require code changes.
&lt;br /&gt;
&lt;br /&gt;The service 'System.Workflow.ComponentModel.Compiler.ITypeProvider' must be installed for this operation to succeed. Ensure that this service is available.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;Cos'è successo ? In pratica, sto cercando di aprire un oggetto creato da un progetto legato a Workflow Foundation, all'interno di un normale progetto di tipo class library, che quindi non ha alcuna referenza alle strutture del framework di workflow targato Microsoft.
&lt;br /&gt;Per rimettere tutto a posto basta solamente aprire il file di progetto (.csproj) ed inserire le informazioni riguardanti al tipo di progetto e alle referenze a Windows Workflow Foundation, stando attenti alla posizioni in cui inserire queste aggiunte:
&lt;br /&gt;
&lt;br /&gt;1) Inserire il tag:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;ProjectTypeGuids&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;ProjectTypeGuids&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;subito sotto il tag &lt;Assembly /&gt;.
&lt;br /&gt;
&lt;br /&gt;2) Inserire il tag:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Import&lt;/span&gt;&lt;span style='color:#FF0000'&gt; Project&lt;span style='color:#0000FF'&gt;="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets"&lt;/span&gt; &lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;subito sotto il tag di import delle strutture di C#.
&lt;br /&gt;Se state utilizzando un progetto basato sulla versione 3.0 del .NET Framework, basta semplicemente cambiare la versione utilizzata nel tag di import delle strutture di Workflow Foundation.
&lt;br /&gt;
&lt;br /&gt;Come unica raccomandazione, oltre alla creazione di una copia del file di progetto prima di procederne alla modifica, vi ricordo di porre attenzione alle referenze che avete sul vecchio progetto e riportarle sul nuovo.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Workflow Foundation.aspx" title="TAG: Workflow Foundation"&gt;Workflow Foundation&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/VisualizationErrorWorkflowInNewProject.aspx" /><issued>2008-11-9T19:6:34+01:00</issued><modified>2008-11-9T19:6:34+01:00</modified></entry><entry><title>Sviluppare workflow sequenziali con WF</title><id>/Blog/SequentialWokrlfowsInWF.aspx</id><created>2007-12-18T11:9:20+01:00</created><content type="text/html" mode="escaped">Oggi &lt;a href="http://blogs.aspitalia.com/ricciolo/" title="Cristian Civera, ASP.NET MVP"&gt;Cristian&lt;/a&gt;, che ringrazio come sempre, mi ha pubblicato un articolo su Windows Workflow Foundation che avevo scritto un pò di tempo fa all'interno di &lt;a href="http://www.winfxitalia.com/" title="WinFXItalia.com"&gt;WinFXItalia.com&lt;/a&gt;; nell'articolo vengono trattati i workflow sequenziali, disponibili nel framework di workflow targato Microsoft, dopo aver visto &lt;a href="http://www.winfxitalia.com/articoli/workflow-foundation/realizzare-workflow-stati.aspx" title="Workflow a stati con Workflow Foundation"&gt;quelli a stati&lt;/a&gt;.
&lt;br /&gt;All'interno c'è un esempio abbastanza esaustivo per comprendere argomenti come applicazione host, interfacce di comunicazione tra worklfow e host, flussi sequenziali.
&lt;br /&gt;Vi lascio il link per la lettura dell'articolo:
&lt;br /&gt;&lt;a href="http://www.winfxitalia.com/articoli/workflow-foundation/sviluppare-workflow-sequenziali-WF.aspx" title="Sviluppare workflow sequenziali con WF"&gt;http://www.winfxitalia.com/articoli/workflow-foundation/sviluppare-workflow-sequenziali-WF.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Workflow Foundation.aspx" title="TAG: Workflow Foundation"&gt;Workflow Foundation&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/Workflow.aspx" title="TAG: Workflow"&gt;Workflow&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/SequentialWokrlfowsInWF.aspx" /><issued>2007-12-18T11:9:20+01:00</issued><modified>2007-12-18T11:9:20+01:00</modified></entry><entry><title>Introduzioni ai workflow a stati</title><id>/Blog/StateMachineWorkflow.aspx</id><created>2007-3-6T1:20:50+01:00</created><content type="text/html" mode="escaped">Pronto il secondo articolo per &lt;a href="http://www.winfxitalia.com" title="WinFXItalia.com"&gt;WinFXItalia.com&lt;/a&gt; ! Questa volta l'argomento è un pò più basilare del &lt;a href="http://www.winfxitalia.com/articoli/workflow-foundation/dependency-properties-custom-activities.aspx" title="Utilizzo delle Dependency Properties nello sviluppo di activities custom con Workflow Foundation"&gt;precedente&lt;/a&gt;, ma di grande importanza: i workflow a stati.
&lt;br /&gt;Il flusso d'esempio è molto semplice, descrive il ciclo di vita di un prodotto all'interno di un ipotetico carrello della spesa, con stati ed eventi per gestire l'inserimento, la modifica, la rimozione e l'eventuale completamento dell'ordine.
&lt;br /&gt;Quello che penso sia importante è la descrizione del metodo di comunicazione che permette al workflow di "parlare" con l'applicazione host e come questo metodo, che dev'essere implementato da noi, rappresenti un livello a parte posto tra i due soggetti della comunicazione.
&lt;br /&gt;Questo il link per la lettura:
&lt;br /&gt;&lt;a href="http://www.winfxitalia.com/articoli/workflow-foundation/realizzare-workflow-stati.aspx" title="Realizzare un workflow a stati"&gt;http://www.winfxitalia.com/articoli/workflow-foundation/realizzare-workflow-stati.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Per il prossimo appuntamento con Workflow Foundation ho pensato di analizzarne l'integrazione con ASP.NET 2.0 ... vi terrò aggiornati.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/Workflow.aspx" title="TAG: Workflow"&gt;Workflow&lt;/a&gt;]</content><link rel="alternate" type="text/html" href="/Blog/StateMachineWorkflow.aspx" /><issued>2007-3-6T1:20:50+01:00</issued><modified>2007-3-6T1:20:50+01:00</modified></entry><entry><title>Utilizzo delle Dependency Properties in Workflow Foundation</title><id>/Blog/DependencyPropertiesCustomActivities.aspx</id><created>2007-1-23T9:17:30+01:00</created><content type="text/html" mode="escaped">Oggi è stato pubblicato il mio primo articolo per &lt;a href="http://www.winfxitalia.com/" title="WinFXItalia.com"&gt;WinFXItalia.com&lt;/a&gt;, grazie alla disponibilità di &lt;a href="http://blogs.aspitalia.com/ricciolo/" title="Cristian Civera, Microsoft MVP ASP.NET"&gt;Cristian&lt;/a&gt;.
&lt;br /&gt;Si parla di Workflow Foundation e dell'utilizzo delle Dependency Properties, che sono un punto fondamentale della nuova architettura inserita nella versione 3.0 del .NET Framework, sia nel framework per workflow che in Presentation Foundation.
&lt;br /&gt;
&lt;br /&gt;Questo il link:
&lt;br /&gt;&lt;a  href="http://www.winfxitalia.com/articoli/workflow-foundation/dependency-properties-custom-activities.aspx" title="Utilizzo delle Dependency Properties in Workflow Foundation"&gt;http://www.winfxitalia.com/articoli/workflow-foundation/dependency-properties-custom-activities.aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Buona lettura !</content><link rel="alternate" type="text/html" href="/Blog/DependencyPropertiesCustomActivities.aspx" /><issued>2007-1-23T9:17:30+01:00</issued><modified>2007-1-23T9:17:30+01:00</modified></entry></feed>