2015-06-11 3 views
1

Во время игры с панелью приложений AppFabric для мониторинга приложения службы WCF Workflow (.NET 4.5, Windows 7, SQL 2012) Я заметил, что «История экземпляров WF "полностью пуст. Однако обновляются как «История вызовов WCF», так и «Persisted WF Instances». Я запускал несколько экземпляров рабочих процессов от начала до конца. Как включить это?AppFabric «История экземпляров WF» пуста для рабочего процесса, размещенного в IIS

Я попытался следующие:

  • убедились, что SQL Service Agent работает
  • убедились, что NT AUTHORITY \ LOCAL SERVICE (AppFabric Services счета) может войти в SQL Server - ранее я «ве видели проблемы с этим в журнале событий
  • было заглянуть в WfEventsTable - пусто, в отличие от WcfEventsTable
  • EtwTrackingParticipant, кажется, настроен (как это было добавлено автоматически, не уверен, что ...) - вот мой полный web.config:

<appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
</appSettings> 
<system.web> 
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.5"> 
    </compilation> 
    <httpRuntime targetFramework="4.5" /> 
</system.web> 
<system.serviceModel> 
    <extensions> 
     <behaviorExtensions> 
      <add name="stateTracking" type="Microsoft.Activities.Extensions.ServiceModel.StateMachineTrackingElement, Microsoft.Activities.Extensions"/> 
      <add name="workflowServiceTrace" type="Microsoft.Activities.Extensions.Diagnostics.WorkflowServiceTraceElement, Microsoft.Activities.Extensions" /> 
     </behaviorExtensions> 
    </extensions> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior> 
       <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
       <serviceDebug includeExceptionDetailInFaults="false" /> 
       <etwTracking profileName="HealthMonitoring_Tracking_Participant" /> 
       <sqlWorkflowInstanceStore instanceCompletionAction="DeleteAll" instanceEncodingOption="None" instanceLockedExceptionAction="NoRetry" connectionStringName="ApplicationServerWorkflowInstanceStoreConnectionString" hostLockRenewalPeriod="00:00:30" runnableInstancesDetectionPeriod="00:00:05" /> 
       <stateTracking /> 
       <workflowServiceTrace /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <protocolMapping> 
     <add binding="basicHttpsBinding" scheme="https" /> 
    </protocolMapping> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
    <diagnostics etwProviderId="5540df62-131b-43f9-9ee7-e811ce1ede3c"> 
     <endToEndTracing propagateActivity="false" messageFlowTracing="false" /> 
    </diagnostics> 
</system.serviceModel> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
</system.webServer> 
<microsoft.applicationServer> 
    <monitoring> 
     <default enabled="true" connectionStringName="ApplicationServerMonitoringConnectionString" monitoringLevel="HealthMonitoring" /> 
    </monitoring> 
</microsoft.applicationServer> 

Может кто-нибудь мне точку в правильном направлении?

ответ

0

Можете ли вы посмотреть, есть ли способ обновить свойство SqlWorkflowInstanceStore.InstanceCompletionAction для «DeleteNothing». Значение по умолчанию - «УдалитьAll».

Посмотрите на детали здесь https://msdn.microsoft.com/en-us/library/system.activities.durableinstancing.sqlworkflowinstancestore.instancecompletionaction(v=vs.110).aspx

+0

хорошо я изменил instanceCompletionAction на «DeleteNothing» в web.config, но безрезультатно ... – metalheart

Смежные вопросы