Nie można już korzystać z EnterpriseLibraryContainer, spójrz poniżej, czy to pomaga.
Opcja config jest nadal dostępny:
Zasadniczo trzeba pakiet Nuget EnterpriseLibrary.TransientFaultHandling.Configuration
Wtedy trzeba by zaktualizować internetowej/app.config do czegoś podobnego:
<configSections>
<section name="RetryPolicyConfiguration" type="Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Configuration.RetryPolicyConfigurationSettings, Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Configuration, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
<section name="typeRegistrationProvidersConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.TypeRegistrationProvidersConfigurationSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<typeRegistrationProvidersConfiguration>
<clear />
<add sectionName="RetryPolicyConfiguration" name="RetryPolicyConfiguration" />
</typeRegistrationProvidersConfiguration>
<RetryPolicyConfiguration defaultRetryStrategy="Fixed Interval Retry Strategy"
defaultSqlConnectionRetryStrategy="Incremental Retry Strategy">
<incremental name="Incremental Retry Strategy" retryIncrement="00:00:01" initialInterval="00:00:01" maxRetryCount="10" />
<fixedInterval name="Fixed Interval Retry Strategy" retryInterval="00:00:01" maxRetryCount="10" />
<exponentialBackoff name="Backoff Retry Strategy" minBackoff="00:00:01" maxBackoff="00:00:30"
deltaBackoff="00:00:10" maxRetryCount="10" firstFastRetry="false"/>
</RetryPolicyConfiguration>
Jeśli otrzymasz błędy środowiska wykonawczego, takie jak atrybut "retryInterval" lub "fastFirstRetry", nie jest to rozpoznawany atrybut, spróbuj zamiast tego "initialInterval" i "firstFastRetry", zostały one zmienione. Dla odniesienia wygląd here.
Na poziomie kodu będzie trzeba coś takiego:
RetryPolicy retryPolicy;
try
{
retryPolicy = RetryPolicyFactory.GetDefaultSqlConnectionRetryPolicy();
}
catch (NullReferenceException)
{
throw new Exception("Unable to read transient fault handling behaviour from config, config section for TransientFaultHandling seems to be missing.");
}
return retryPolicy;
nadzieję, że to pomaga!
To naprawdę frustrujące. Próbuję nauczyć się korzystać z bloku logowania i mam ten sam problem. Mam nadzieję, że MS wkrótce to naprawi. –