מבוא
תקשורת Windows Foundation (WCF) אינו כולל את הפונקציונליות כדי לשלוח הודעות מאובטחות ולקבל תגובות לא מאובטחת, או כדי לשלוח הודעות לא מאובטחת ולקבל תגובות מאובטחת. התיקון החם המתואר במאמר זה מוסיף תכונה חדשה enableUnsecuredResponse . ערך ברירת המחדל של התכונה enableUnsecuredResponse מוגדר כ- false. אם תגדיר את הערך של תכונה זו כ- true, התכונות החדשות הבאות זמינות ב- WCF:
-
לקוחות WCF יכול לקבל תגובות לא מאובטחת גם אם ההודעות היוצאות מאובטחים באמצעות פרוטוקול Secure Socket Layer (SSL) כדי לחתום את גוף ההודעה.
-
שירותי WCF ניתן לשלוח תגובות לא מאובטחת בעלי כותרת אבטחה לא במעטפות SOAP גם אם הבקשה הוא מאובטח.
הערה התכונה enableUnsecuredResponse בלבד חל רק על סוג CustomBinding .
פתרון
אם אתה משתמש ב- .NET Framework 3.0, התקן את התיקון החם המתואר במאמר הבא בסיס הידע של Microsoft:
תיקון 967105 : תיקון חם המאפשר ל- WCF לשלוח הודעות מאובטחות ולקבל תגובות לא מאובטחת, והוא כדי לשלוח הודעות לא מאובטחת ולקבל תגובות מאובטח, זמין עבור .NET Framework 3.0אם אתה משתמש את .NET Framework 3.5 Service Pack 1 ב- Windows 7 או Windows Server 2008 R2, התקן את התיקון החם המתואר במאמר הבא בסיס הידע של Microsoft:
977420 סיכום התיקון החם זמין לפתור בעיות ב- Windows Communication Foundation ב- .NET Framework 3.5 SP1 עבור Windows 7 ועבור Windows Server 2008 R2
אם אתה משתמש את .NET Framework 3.5 Service Pack 1 במערכות הפעלה אחרות, התקן את התיקון החם הבא כדי לפתור את הבעיה.
תיקון חם נתמך זמין כעת מ- Microsoft. עם זאת, הוא מיועד רק את הבעיה המתוארת במאמר זה. יש להחיל אותו רק במערכות שהתעוררה בהן בעיה ספציפית זו. תיקון חם זה עשוי לעבור בדיקות נוספות. לכן, אם המערכת שברשותך לא נפגעה באופן חמור מבעיה זו, מומלץ להמתין למהדורת ה-service pack הבא המכיל תיקון חם זה.
כדי לפתור בעיה זו באופן מיידי, פנה לשירותי התמיכה בלקוחות של Microsoft לקבלת התיקון החם. לקבלת רשימה מלאה של מספרי הטלפון בשירותי התמיכה ללקוח של Microsoft ומידע על עלויות תמיכה, בקר באתר האינטרנט הבא של Microsoft:
http://support.microsoft.com/contactus/?ws=supportהערה במקרים מיוחדים, ניתן לבטל את החיובים שהצגת שיחות תמיכה אם מומחה תמיכה של Microsoft יקבע שעדכון ספציפי יפתור את הבעיה. דמי התמיכה המקובלים יחולו על נוספים שאלות וסוגיות תמיכה אשר אינן מצריכות העדכון הספציפי האמור.
דרישות מוקדמות
כדי להחיל תיקון חם זה דרוש לך את .NET Framework 3.5 Service Pack 1.
דרישת הפעלה מחדש
אין לך להפעיל מחדש את המחשב לאחר החלת תיקון חם זה אם אין מופע של .NET Framework נמצא בשימוש.
מידע על החלפת התיקון החם
תיקון חם זה אינו מחליף תיקונים חמים אחרים.
פרטי קובץ
הגירסה האנגלית של תיקון חם זה כוללת את תכונות הקובץ (או תכונות קובץ מתקדמות יותר) המפורטות בטבלה הבאה. התאריכים והשעות המתייחסים לקבצים הללו רשומים לפי זמן אוניברסלי מתואם (UTC). כשמציגים את פרטי הקובץ, היא מומרת לזמן המקומי. כדי לברר את הפרש השעות בין זמן UTC לזמן המקומי, השתמש בכרטיסייה אזור זמן בפריט ' תאריך ושעה ' בלוח הבקרה.
נתוני קובץ עבור כל גירסאות מבוססות x86 של Windows Server 2003 ו- Windows XP
שם קובץ |
גירסת קובץ |
גודל קובץ |
תאריך |
שעה |
פלטפורמה |
---|---|---|---|---|---|
Servicemonikersupport.dll |
3.0.4506.4119 |
17,240 |
01 ביוני 2009 |
22:56 |
x86 |
System.runtime.serialization.dll |
3.0.4506.4119 |
970,752 |
01 ביוני 2009 |
22:56 |
x86 |
System.servicemodel.dll |
3.0.4506.4119 |
5,931,008 |
01 ביוני 2009 |
22:56 |
x86 |
נתוני קובץ עבור כל גירסאות מבוססות x64 של Windows Server 2003 ו- Windows XP
שם קובץ |
גירסת קובץ |
גודל קובץ |
תאריך |
שעה |
פלטפורמה |
---|---|---|---|---|---|
Servicemonikersupport.dll |
3.0.4506.4119 |
19,304 |
01 ביוני 2009 |
22:28 |
x64 |
System.runtime.serialization.dll |
3.0.4506.4119 |
847,872 |
01 ביוני 2009 |
22:28 |
x64 |
System.servicemodel.dll |
3.0.4506.4119 |
5,267,456 |
01 ביוני 2009 |
22:28 |
x64 |
נתוני קובץ עבור כל גירסאות מבוססות x86 של Windows Vista SP2 ו- Windows Server 2008 SP2
שם קובץ |
גירסת קובץ |
גודל קובץ |
תאריך |
שעה |
---|---|---|---|---|
Servicemonikersupport.dll |
3.0.4506.4120 |
17,240 |
10-Jun-2009 |
06:55 |
System.runtime.serialization.dll |
3.0.4506.4120 |
970,752 |
10-Jun-2009 |
06:55 |
System.servicemodel.dll |
3.0.4506.4120 |
5,935,104 |
10-Jun-2009 |
06:55 |
נתוני קובץ עבור כל גירסאות מבוססות x64 של Windows Vista SP2 ו- Windows Server 2008 SP2
שם קובץ |
גירסת קובץ |
גודל קובץ |
תאריך |
שעה |
פלטפורמה |
---|---|---|---|---|---|
Servicemonikersupport.dll |
3.0.4506.4120 |
19,288 |
10-Jun-2009 |
06:56 |
x64 |
System.runtime.serialization.dll |
3.0.4506.4120 |
847,872 |
10-Jun-2009 |
06:56 |
x64 |
System.servicemodel.dll |
3.0.4506.4120 |
5,271,552 |
10-Jun-2009 |
06:56 |
x64 |
נתוני קובץ עבור כל הגירסאות המבוססות על Itanium של Windows Server 2008 SP2
שם קובץ |
גירסת קובץ |
גודל קובץ |
תאריך |
שעה |
פלטפורמה |
---|---|---|---|---|---|
Servicemonikersupport.dll |
3.0.4506.4120 |
33,640 |
10-Jun-2009 |
06:56 |
IA-64 |
System.runtime.serialization.dll |
3.0.4506.4120 |
847,872 |
10-Jun-2009 |
06:56 |
IA-64 |
System.servicemodel.dll |
3.0.4506.4120 |
5,271,552 |
10-Jun-2009 |
06:56 |
IA-64 |
מצב
Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.
מידע נוסף
משמשת מחשב את התכונה enableUnsecuredResponse של הקוד בדוגמה הבאה:
שירות
BindingElementCollection serviceBec = new BindingElementCollection();
SecurityBindingElement serviceSbe = SecurityBindingElement.CreateUserNameForCertificateBindingElement();
serviceSbe.EnableUnsecuredResponse = true;
serviceBec.Add(serviceSbe);
serviceBec.Add(new TextMessageEncodingBindingElement());
serviceBec.Add(new HttpTransportBindingElement());
Binding serviceBinding = new CustomBinding(serviceBec);
ServiceHost serviceHost = new ServiceHost(typeof(RequestReply));
…
serviceHost.Open();
לקוח
BindingElementCollection clientBec = new BindingElementCollection();
SecurityBindingElement clientSbe = SecurityBindingElement.CreateUserNameForCertificateBindingElement();
clientSbe.EnableUnsecuredResponse = true;
clientBec.Add(clientSbe);
clientBec.Add(new TextMessageEncodingBindingElement());
clientBec.Add(new HttpTransportBindingElement());
Binding clientBinding = new CustomBinding(clientBec);
IRequestReply channel = cf.CreateChannel();
try
{
channel.SendString("Hello");
cf.Close();
}