Несколько экземпляров конфигурации Windows Server AppFabric - PullRequest
1 голос
/ 06 мая 2011

У меня есть среда dev и prod, настроенная в двух разных виртуальных каталогах на одной и той же виртуальной машине, и после Настройка нескольких экземпляров WMS , чтобы попытаться настроить их оба правильно. Похоже, они работают нормально, так как я вижу, что экземпляры рабочих процессов сохраняются для соответствующих сред на основе подключающегося к ним клиента. Проблема заключается в попытке просмотреть сохраненные экземпляры в диспетчере IIS. Я получаю следующие ошибки:

Ошибка IIS Отображается при попытке просмотра постоянных экземпляров

Сообщение об ошибке отображается при нажатии на ссылку «Обнаружены ошибки»

(* Извиняюсь, я не знаю, как загрузить изображения прямо в этот пост *)

У меня есть соответствующие файлы конфигурации:

Web.Config по умолчанию

<microsoft.applicationServer>
    <monitoring lockElements="bulkCopyProviders, collectors">
        <bulkCopyProviders>
            <bulkCopyProvider providerName="System.Data.SqlClient" type="Microsoft.ApplicationServer.Monitoring.EventCollector.SqlServerBulkCopy, Microsoft.ApplicationServer.Monitoring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </bulkCopyProviders>
        <collectors>
            <collector name="" session="0">
                <settings retryCount="5" eventBufferSize="10000" retryWait="00:00:15" samplingInterval="00:00:05" aggregationEnabled="true" />
            </collector>
        </collectors>
        <default enabled="true" connectionStringName="ProductionApplicationServerMonitoringConnectionString" monitoringLevel="HealthMonitoring" />
    </monitoring>
    <persistence>
        <instanceStoreProviders lockItem="true">
            <add name="SqlPersistenceStoreProvider" storeProvider="Microsoft.ApplicationServer.StoreProvider.Sql.SqlWorkflowInstanceStoreProvider, Microsoft.ApplicationServer.StoreProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" storeControlProvider="Microsoft.ApplicationServer.StoreManagement.Sql.Control.SqlInstanceControlProvider, Microsoft.ApplicationServer.StoreManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" storeQueryProvider="Microsoft.ApplicationServer.StoreManagement.Sql.Query.SqlInstanceQueryProvider, Microsoft.ApplicationServer.StoreManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </instanceStoreProviders>
        <workflowManagement>
             <workflowManagementServiceInstances lockItem="true">
                 <workflowManagementServiceInstance name="">
                     <instanceStores>
                         <instanceStore name="productionSqlPersistenceStore" location="Workflows.Prod" />
                     </instanceStores>
                 </workflowManagementServiceInstance>
                 <workflowManagementServiceInstance name="Dev">
                     <instanceStores>
                         <instanceStore name="devSqlPersistenceStore" location="Workflows.Dev" />
                     </instanceStores>
                 </workflowManagementServiceInstance>
             </workflowManagementServiceInstances>
         </workflowManagement>
         <instanceStores>
             <add name="devSqlPersistenceStore" provider="SqlPersistenceStoreProvider" connectionStringName="ApplicationServerWorkflowInstanceStoreConnectionString" />
             <add name="productionSqlPersistenceStore" provider="SqlPersistenceStoreProvider" connectionStringName="ProductionApplicationServerWorkflowInstanceStoreConnectionString" />
         </instanceStores>
     </persistence>
     <hosting>
         <serviceManagement endpointConfiguration="ServiceManagementNetPipeEndpoint" enabled="true" authorizedWindowsGroup="AS_Administrators" />
     </hosting>
 </microsoft.applicationServer>
 <connectionStrings>
     <add connectionString="BigSecret" name="ApplicationServerMonitoringConnectionString" />
     <add connectionString="BigSecret" name="ApplicationServerWorkflowInstanceStoreConnectionString" />
     <add connectionString="BigSecret" name="ProductionApplicationServerMonitoringConnectionString" />
     <add connectionString="BigSecret" name="ProductionApplicationServerWorkflowInstanceStoreConnectionString" />
</connectionStrings>

Производство Web.Config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
    <system.serviceModel>
        <protocolMapping>
            <remove scheme="net.pipe" />
        </protocolMapping>
        <behaviors>
            <serviceBehaviors>
                <behavior>
                    <serviceMetadata httpGetEnabled="false" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                    <sqlWorkflowInstanceStore instanceCompletionAction="DeleteAll" instanceEncodingOption="None" instanceLockedExceptionAction="NoRetry" connectionStringName="ProductionApplicationServerWorkflowInstanceStoreConnectionString" hostLockRenewalPeriod="00:00:30" runnableInstancesDetectionPeriod="00:00:05" />
                    <workflowInstanceManagement authorizedWindowsGroup="AS_Administrators" />
                    <workflowUnhandledException action="AbandonAndSuspend" />
                    <workflowIdle timeToPersist="00:00:00" timeToUnload="00:01:00" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    </system.serviceModel>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
    <microsoft.applicationServer>
        <monitoring lockElements="bulkCopyProviders, collectors">
            <default enabled="true" connectionStringName="workflowStoreConnectionString" monitoringLevel="HealthMonitoring" />
        </monitoring>
        <persistence>
            <instanceStores>
                <remove name="defaultSqlPersistenceStore" />
                <add name="defaultSqlPersistenceStore" provider="SqlPersistenceStoreProvider" connectionStringName="workflowStoreConnectionString" />
            </instanceStores>
        </persistence>
        <hosting>
            <serviceManagement endpointConfiguration="ServiceManagementNetPipeEndpoint" enabled="false" />
        </hosting>
    </microsoft.applicationServer>
    <connectionStrings>
        <add connectionString="BigSecret" name="workflowStoreConnectionString" />
    </connectionStrings>
</configuration>

Dev Web.Config - То же, что и Production, но с другой строкой подключения

Приветствуется любая помощь в устранении сообщений об ошибках и возможности просмотра сохраненных экземпляров. ТИА. JH

1 Ответ

1 голос
/ 26 мая 2011

Оказывается, проблема была в том, что установщик msi неправильно запустил сценарии sql, молча завершился сбоем и, таким образом, пропустил некоторые таблицы. Повторное выполнение сценариев вручную (Create_Persistence_Schema.sql, Create_Persistence_Logic.sql, Create_Monitoring_Schema.sql и Create_Monitoring_Logic.sql, расположенного в C: \ windows \ System32 \ AppFabric \ Schema) исправило проблему.

...