私は WF 4.5 と Devart dotConnect (永続化のため) を使用しています。net.Tcp
を使用してプロトコルで WorkflowService をホストしていますWorkflowServiceHost
。IncomingMessageHeaders
の情報を送信していますOperationContext.Current
。永続性を有効にするまでは、すべて問題なく動作します。永続性が有効になるとすぐOperationContext.Current
にnull
. なぜこれが起こっているのかわからず、 と の両方のデータOperationContext
がPersistence
必要です。ここに私の設定があります
Behaviors.config:
<behaviors>
<endpointBehaviors>
<behavior name="ParametersInHeaderBehaviour">
<HeaderExtension />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="WorkflowService_Behavior">
<!--<workflowServiceTrace />-->
<!--<serviceMetadata httpGetEnabled="true" />-->
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceAuthorization principalPermissionMode="Custom" serviceAuthorizationManagerType="Capita.Prism.Authorization.Foundation.Managers.UserAuthorizationManager, Capita.Prism.Authorization.Foundation, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null">
<authorizationPolicies>
<add policyType="Authorization.Foundation.ADMappingPolicy, Authorization.Foundation, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
</authorizationPolicies>
</serviceAuthorization>
<!--<oracleTracking connectionString="User Id=workflow;Password=oracle;Server=DEVDB;" profileName="Sample Tracking Profile"/>
<oracleInstanceStore connectionString="User Id=workflow;Password=oracle;Server=DEVDB;" instanceEncodingOption="None" instanceCompletionAction="DeleteNothing" instanceLockedExceptionAction="NoRetry" hostLockRenewalPeriod="00:00:30" runnableInstancesDetectionPeriod="00:00:05"/>-->
<workflowIdle timeToUnload="0"/>
<workflowUnhandledException action="AbandonAndSuspend"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
この動作を使用することは可能ですが、コメントを外してnull に設定するとOperationContext.Current
すぐに。oracleTracking
oracleInstanceStore
OperationContext.Current
助けてください!!!