Applies To.NET Framework 4.7.2 .NET Framework 4.7.1 .NET Framework 4.7 .NET Framework 4.6 .NET Framework 4.6.1 .NET Framework 4.6.2

Belirtiler

Temmuz 2018 yükledikten sonra .NET Framework güvenlik ve kalite toplamaları, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 ve 4.7.2 Windows 7 Service Pack 1 (SP1), Windows Server 2008 R2 SP1 veya Windows Server 2008 SP2, .NET Framework için geçerli bir .NET hatalarına dikkat edin Aşağıdaki ölçütlere uyan framework uygulaması:

  • Uygulama TransactionScopeAsyncFlowOption.Enabled yapıcısına ileterek işlem akışının etkinleştirilip System.Transaction.TransactionScope sınıfının örnekleri kullanır.

  • Bu hareket kapsamlarının biri etkinken uygulama bir veya daha fazla uzak çağrılar yapar. Bu durumda, uzak çağrı sunucu nesnesini ulaşmadan önce saydam bir proxy sunucusu üzerinden dolaşan herhangi çağrısıdır. Diğer uygulama etki alanları için aramalar ve System.Runtime.Remoting.Channels ad alanlarında tanımlanan istemci kanalları gibi remoting kanallarına aracılığıyla yapılan çağrıları uzak çağrıları örnekleridir.

  • Uzak çağrısının ardından, System.Transactions.Transaction.Current yerine, önce uzak çağrı döndürülen değer null değeri döndürür.

Geçici Çözüm

Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini deneyin:

  • Uzak çağrı herhangi bir işlem kapsamı etkin durumdayken çalıştırılan kodda gerçekleşeceğinden emin olmak için uygulama işlem akışı sağlayan her işlem kapsamı için değiştirin. Ne zaman işlem kapsamı aşağıdaki yönergeleri herhangi uzak çağrıları dikkate içerip içermediğini belirleyin:

    • Bir static yöntem çağrısı asla uzak bir çağrıdır.

    • Hedef nesne üzerinde örnek yöntemi çağrısı için hedef nesnesini saydam proxy ise uzak çağrısıdır.

    • Bir kurucu çağrısı için oluşturulmuş bir nesneye saydam proxy ise uzak çağrısıdır.

    Not: System.Runtime.Remoting.RemotingServices.IsTransparentProxy yöntemi her zaman nesnenin saydam proxy olup olmadığını denetlemek için kullanabilirsiniz.

  • Hareket akışı TransactionScopeAsyncFlowOption.Enabled oluşturucu bağımsız değişkeni kaldırarak devre dışı bırakın. 

    Uyarı

    Bu geçici çözüm işlem kapsamı etkin durumdayken "beklemek" işlemleri yürütmek, diğer hataları neden olabilir.

  • Transaction.Current özelliği otomatik olarak uzak çağrı seri değil. Parametre olarak geçirilen gerekir. Uzak çağrı hareket parametre olarak geçirmek değil ve uzak çağrı sırasında istemciye geri çağırma yapmaz, uzaktan çağrı TransactionScopeOptions.Suppress kullanan yeni bir TransactionScope nesne içinde oluşturabilirsiniz. seçeneği. Bu iç işlem kapsamı bastırmak, Transaction.Current özelliği null değer içeriyor.

Durum

Biz bu sorunun farkında ve bir çözüm üzerinde çalışmakta olduğunuz.

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.