דלג לתוכן הראשי
היכנס דרך 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 יישום framework העונה על הקריטריונים הבאים:

  • היישום משתמש מופעים של המחלקה System.Transaction.TransactionScope שבה זרימת התנועה מופעלת על-ידי העברת TransactionScopeAsyncFlowOption.Enabled לבנאי.

  • שהיישום מבצע שיחות מרוחק אחד או יותר בעת אחת מהפעולות אלה טווחי תנועה פעילה. במקרה זה, שיחה מרחוק הוא כל קריאה אשר עוברת דרך proxy שקוף לפני שהיא מגיעה אובייקט השרת. דוגמאות של קריאות מרוחק כוללים שיחות לתחומים אחרים של היישום ואת שיחות שבוצעו באמצעות ערוצי remoting, כגון הערוצים הלקוח המוגדרים בטווחי שמות System.Runtime.Remoting.Channels .

  • לאחר הקריאה מרחוק, System.Transactions.Transaction.Current מחזיר ערך null במקום את הערך בו הוחזר לפני הקריאה מרחוק.

פתרון

כדי לעקוף בעיה זו, נסה אחת מהשיטות הבאות:

  • עבור כל טווח תנועה המאפשר זרימת התנועה, לשנות את היישום כדי לוודא כי אין שיחות מרחוק להתרחש בכל מקום בקוד הפועלת כאשר טווח טרנזקציה פעילה. כאשר אתה לקבוע אם טווח טרנזקציה מכיל כל שיחות מרחוק, שקול את הקווים המנחים הבאים:

    • קריאה לפעולת השירות סטטי הוא לעולם קריאה מרחוק.

    • עבור קריאה לשיטת מופע באובייקט היעד, השיחה הוא מרוחק רק אם אובייקט היעד הוא רכיב proxy שקוף.

    • עבור קריאה לבנאי, השיחה הוא מרוחק רק אם האובייקט שלא נבנה proxy שקוף.

    הערהתמיד, באפשרותך להשתמש בשיטה System.Runtime.Remoting.RemotingServices.IsTransparentProxy כדי לבדוק אם אובייקט proxy שקוף.

  • בטל זרימת התנועה על-ידי הסרת הארגומנט בנאי TransactionScopeAsyncFlowOption.Enabled

    אזהרה

    דרך זו לעקיפת הבעיה סביר לגרום לשגיאות אחרות אם לבצע כל פעולות "ממתינות לך" כאשר טווח טרנזקציה פעילה.

  • המאפיין Transaction.Current הוא לא באופן אוטומטי בסידרה הקריאה מרחוק. יש להעביר אותו כפרמטר. אם השיחה מרחוק לא יעבור את התנועה כפרמטר ולא ליצור התקשרות חזרה אל הלקוח במהלך השיחה מרחוק, באפשרותך ליצור את השיחה מרחוק בתוך אובייקט TransactionScope חדש העושה שימוש TransactionScopeOptions.Suppress האפשרות. בתוך זה העלם טווח טרנזקציה, המאפיין Transaction.Current מכיל ערך null.

מצב

אנו מודעים לבעיה זו, אתה עובד כרגע פתרון.

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×