Avec la RC de WF4, la méthode DeserializeString du WorkflowDesigner n’existe plus. Snif…
Maintenant il ne se serra donc plus possible d’écrire ceci :
C#
/// <summary>
/// Retourne le workflow représenté par la string contenant le xaml
/// </summary>
/// <param name="xaml"></param>
/// <returns></returns>
private Activity GetWorkflow(String xaml)
{
if (!String.IsNullOrEmpty(xaml)
& this.m_WorkflowDesigner != null)
{
return this.m_WorkflowDesigner.DeserializeString(xaml) as Activity;
}
return null;
}
Pour désérialiser une chaine en Xaml il faudra donc se tourner vers une méthode come celle qui suit :
C#
/// <summary>
/// Retourne le workflow représenté par la string contenant le xaml
/// </summary>
/// <param name="xaml"></param>
/// <returns></returns>
private static Activity GetWorkflow(String xaml)
{
if (!String.IsNullOrEmpty(xaml))
{
StringReader stringReader = new StringReader(xaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
try
{
// Création du workflow
return ActivityXamlServices.Load(xmlReader);
}
catch
{
return null;
}
}
return null;
}
