WorkflowDesignerLoader.Flush 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将挂起的更改写入设计器的加载位置。
public:
override void Flush();
public override void Flush ();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()
示例
下面的示例演示如何重写 Flush 方法以使用 WorkflowMarkupSerializer 序列化工作流。 在本示例中,重写的 Flush 委托 PerformFlush 派生类中定义的 WorkflowDesignerLoader 方法。
public override void Flush()
{
this.PerformFlush(null);
}
protected override void PerformFlush(IDesignerSerializationManager manager)
{
IDesignerHost host = (IDesignerHost)GetService(typeof(IDesignerHost));
if (host != null && host.RootComponent != null)
{
Activity service = host.RootComponent as Activity;
if (service != null)
{
using (XmlWriter writer = XmlWriter.Create(this.xomlFile))
{
WorkflowMarkupSerializer xomlSerializer = new WorkflowMarkupSerializer();
if (manager == null)
{
xomlSerializer.Serialize(writer, service);
}
else
{
xomlSerializer.Serialize(manager, writer, service);
}
}
}
}
}
Public Overrides Sub Flush()
Me.PerformFlush(Nothing)
End Sub
Protected Overrides Sub PerformFlush(ByVal manager As IDesignerSerializationManager)
Dim host As IDesignerHost = CType(GetService(GetType(IDesignerHost)), IDesignerHost)
If host IsNot Nothing And host.RootComponent IsNot Nothing Then
Dim service As Activity = CType(host.RootComponent, Activity)
If service IsNot Nothing Then
Using writer As XmlWriter = XmlWriter.Create(Me.XomlFile)
Dim xomlSerializer As New WorkflowMarkupSerializer()
If manager IsNot Nothing Then
xomlSerializer.Serialize(writer, service)
Else
xomlSerializer.Serialize(manager, writer, service)
End If
End Using
End If
End If
End Sub