Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

След като инсталирате юли 2018 .NET Framework сигурност и качество сборни пакети, които се отнасят за .NET Framework 4.6 4.6.1, 4.6.2, 4.7, 4.7.1 и 4.7.2 на Windows 7 Service Pack 1 (SP1), Windows Server 2008 R2 SP1 или Windows Server 2008 SP2, вие виждате грешки в .NET Рамка на приложение, което отговаря на следните критерии:

  • Приложението използва екземпляри на клас System.Transaction.TransactionScope , в който транзакцията поток е разрешен като подадете TransactionScopeAsyncFlowOption.Enabled на конструктора.

  • Приложението прави един или повече отдалечени повиквания, докато един от следните обхвати на транзакцията е активна. В този случай отдалечено повикване е покана, която пътува през прозрачна прокси сървър, преди да достигне сървърния обект. Примери на отдалечените повиквания повиквания към други области на приложение и повиквания чрез изпълнение на канали, като клиента канали, които са дефинирани имена System.Runtime.Remoting.Channels .

  • След отдалечено повикване, System.Transactions.Transaction.Current връща празна стойност вместо стойността, която е върната преди отдалечено повикване.

Заобиколно решение

За да заобиколите този проблем, опитайте някое от следните методи:

  • За всяка транзакция обхват, който позволява на транзакцията поток променете приложението да се уверите, че няма дистанционно разговори се появят в кода, който се изпълнява, докато транзакцията е активен. Когато се определи дали обхвата на една транзакция съдържа дистанционно повиквания, Помислете следните указания:

    • Повикване статичен метод не е отдалечено повикване.

    • Покана за метод на целевия обект е отдалечен само ако целта обектът е прозрачно прокси сървър.

    • Покана за конструктор е отдалечен само ако построени обектът е прозрачна прокси сървър.

    Забележка:Винаги можете да използвате System.Runtime.Remoting.RemotingServices.IsTransparentProxy метод за проверка дали даден обект прозрачно прокси.

  • Забраняване на транзакция поток чрез премахване на TransactionScopeAsyncFlowOption.Enabled конструктор аргумент. 

    Предупреждение

    Това решение е може да предизвика други грешки, ако "очакват" дейностите изпълнение докато транзакцията е активен.

  • Свойството Transaction.Current не е автоматично поредица отдалечено повикване. Той трябва да се предава като параметър. Ако отдалечено повикване минава транзакции като параметър да обратно на клиента по време на отдалечено повикване, можете да създадете отдалечено повикване в нов TransactionScope обект, който използва TransactionScopeOptions.Suppress опция. В това потискане обхват на транзакциите, Transaction.Current свойство е празна стойност.

Статус

Ние сме наясно с този проблем и в момента работи върху решение.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×