Windows WorkflowまたはSharePoint Workflowアセンブリに反映され、.pngまたはその他のイメージタイプをユーザーに提示するツールはありますか? ASP.NET経由でダイナミックに?このようなことがなければ、ドキュメント/エンドユーザのドキュメントをどのように提供しますか?.NET - ワークフロー、エンドユーザー図、リフレクション
私は無料ツールまたは無料ツールに興味があります。
Windows WorkflowまたはSharePoint Workflowアセンブリに反映され、.pngまたはその他のイメージタイプをユーザーに提示するツールはありますか? ASP.NET経由でダイナミックに?このようなことがなければ、ドキュメント/エンドユーザのドキュメントをどのように提供しますか?.NET - ワークフロー、エンドユーザー図、リフレクション
私は無料ツールまたは無料ツールに興味があります。
`あなたのニーズや希望に応じて、ワークフロー設計者を使用する方法はいくつかあります。
まず、いずれかのメニューを使用してワークフローのイメージを保存できます。これは静的で、設計時に行う必要があるものです。
さらに柔軟なオプションは、アプリでワークフローデザイナーを再ホスティングし、その場で画像を生成するオプションです。以下のコードはコンソールアプリケーションからのものですが、私はASP.NETの内部で同じことをしました。主な問題は、ASP.NETがSTAスレッドを使用するのに対し、デザイナーはMTAスレッドのすべてで実行されるVisual Studioで使用するために作成されたことです。新しいMTAスレッドを作成し、コードを実行してメインのASP.NET STAスレッドで処理が完了するまで待ってください。
Imports System.ComponentModel.Design
Imports System.ComponentModel.Design.
Imports System.Drawing.Imaging
Imports System.Workflow.Activities
Imports System.Workflow.ComponentModel
Imports System.Workflow.ComponentModel.Design
Module Module1
Sub Main()
Dim workflow AsNew SequentialWorkflowActivity
workflow.Activities.Add(New DelayActivity())
Dim loader AsNew WorkflowLoader(workflow)
Dim surface AsNew DesignSurface
surface.BeginLoad(loader)
Dim view AsNew WorkflowView(CType(surface, IServiceProvider))
view.SaveWorkflowImage("workflow.png", ImageFormat.Png)
Process.Start("workflow.png")
End Sub
End Module
Public Class WorkflowLoader
Inherits WorkflowDesignerLoader
Private _workflowDefinition As Activity
SubNew(ByVal workflowDefinition As Activity)
_workflowDefinition = workflowDefinition
EndSub
ProtectedOverridesSub PerformLoad(ByVal serializationManager As IDesignerSerializationManager)
MyBase.PerformLoad(serializationManager)
Dim designerHost As IDesignerHost = Me.GetService(GetType(IDesignerHost))
Dim allActivities As List(Of Activity) = WorkflowUtils.GetAllActivities(_workflowDefinition)
ForEach item As Activity In allActivities
designerHost.Container.Add(item, item.QualifiedName)
Next
EndSub
Public Overrides ReadOnly Property FileName() As String
Get
Return""
EndGet
End Property
PublicOverridesFunction GetFileReader(ByVal filePath AsString) As System.IO.TextReader
ThrowNew NotSupportedException()
End Function
Public Overrides Function GetFileWriter(ByVal filePath AsString) As System.IO.TextWriter
Throw New NotSupportedException()
End Function
End Class