首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化时,ActivityBuilder.Implementation不包含NamespacesForImplementation

序列化时,ActivityBuilder.Implementation不包含NamespacesForImplementation
EN

Stack Overflow用户
提问于 2012-12-20 18:22:58
回答 1查看 600关注 0票数 0

我在将包含Body参数的ActivityBuilderWorkflowService序列化为xaml时遇到问题。ActivityBuilder包含C#表达式,序列化的WorkflowService不会激活,因为某些C#表达式引用了自定义类型。实际的错误是“类型'SomeTypeIPassToAnArgument‘未定义”。

我的ActivityBuilder是从一个包含TextExpression.NamespacesForImplementation元素的xaml文件创建的。当WorkflowService被序列化时,这是缺失的,似乎这就是问题的原因。

我发现如果序列化ActivityBuilder本身,就会包含名称空间,但是使用ActivityBuilder.Implementation会失败。不幸的是,当我构建序列化的WorkflowService时,我必须使用ActivityBuilder.Implementation作为它的Body参数。我尝试使用TextExpression.SetNamespacesForImplementation方法来确保它们被附加到实现上,但这没有帮助。

下面的代码片段显示了我正在尝试做的事情以及失败的地方。

代码语言:javascript
复制
var loadedXaml = File.ReadAllText(@"C:\workflow.xaml");
Assert.IsTrue(loadedXaml.Contains("NamespacesForImplementation"));

var xamlReader = new XamlXmlReader(new StringReader(loadedXaml));
var builderReader = ActivityXamlServices.CreateBuilderReader(xamlReader);
var builder = XamlServices.Load(builderReader) as ActivityBuilder;

// namespaces are available in the builder itself
Assert.AreNotEqual(0, TextExpression.GetNamespacesForImplementation(builder).Count);

// when saving, the assert fails because the namespaces aren't serialized
var savedXaml = XamlServices.Save(builder.Implementation);
Assert.IsTrue(savedXaml.Contains("NamespacesForImplementation"));

你知道为什么这个方法不起作用吗,或者有没有其他方法可以用来解决这个问题?最终,我的目标是能够从xaml加载工作流,并将它们合并到一个序列化的WorkflowService中,这样我就可以使用VirtualPathProvider托管在MVC应用程序中。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-01-05 06:37:19

您不能将ActivityBuilder用作WorkflowService的主体,ActivityBuilder仅用于在设计时操作活动。要将ActivityBuilder转换为Activity,请使用ActivityXamlServices.CreateBuilderWriter。

您可以利用XamlServices.Transform通过ActivityBuilder将XamlReader传输到您在ActivityXamlServices.CreateBuilderWriter中创建的编写器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13969968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档