סימפטומים
בחן את התרחיש הבא:
- אתה יוצר שירות של Windows Communication Foundation (WCF) המתארח ב- Internet Information Services (IIS).
- עליך להשתמש בכיתה WebScriptEnablingBehavior בשירות WCF.
- עליך להגדיר את שירות WCF לשימוש באישור לקוח עבור אימות Secure Sockets Layer (SSL). לשם כך, עליך להגדיר את המאפיין ClientCredentialType בקובץ Web.config לאישור.
בתרחיש זה, בעת הפעלת שירות WCF, התריעה על חריגת System.NotSupportedException ואתה מקבל הודעת שגיאה הדומה להודעה הבאה:
הערה
הגדרות SSL עבור השירות 'ללא' אינן תואמות לאלה של IIS 'Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128'.
גורם
בעיה זו מתרחשת מכיוון שמאפיינים מסוימים של המופע HttpTransportBindingElement אינם מועתקים אל נקודות הקצה של Proxy מסוג javascript שנוצר באופן אוטומטי.
פתרון
תיקון חם נתמך זמין כעת מ- Microsoft. עם זאת, הוא מיועד לפתור רק את הבעיה שמאמר זה מתאר. החל אותו רק על מערכות שנתקלות בבעיה ספציפית זו.
כדי לפתור בעיה זו, פנה אל שירותי התמיכה בלקוחות של Microsoft כדי לקבל את התיקון החם. לקבלת רשימה מלאה של מספרי הטלפון של שירותי התמיכה בלקוחות של Microsoft ומידע אודות עלויות תמיכה, בקר באתר האינטרנט הבא של Microsoft:
http://support.microsoft.com/contactus/?ws=support הערה במקרים מיוחדים, חיובים שנצבורים בדרך כלל עבור שיחות תמיכה עשויים להבוטל אם מומחה תמיכה של Microsoft קובע שעדכון ספציפי יפתור את הבעיה. עלויות התמיכה הרגילות יחולו על שאלות ובעיות תמיכה נוספות שלא עומדות בדרישות לעדכון הספציפי הרלוונטי.
דרישות מוקדמות
כדי להחיל תיקון חם זה, עליך להתקין .NET Framework Service Pack 1 (SP1) של 3.5.
דרישת הפעלה מחדש
אין צורך להפעיל מחדש את המחשב לאחר התקנת התיקון החם.
מידע על החלפת תיקונים חמים
תיקון חם זה אינו מחליף תיקונים חמים אחרים.
הגירסה האנגלית של תיקון חם זה כוללת את תכונות הקובץ (או תכונות קובץ מתקדמות יותר) המפורטות בטבלה הבאה. התאריכים והשעות עבור קבצים אלה מפורטים בזמן אוניברסלי מתואם (UTC). בעת הצגת פרטי הקובץ, הוא מומר לזמן מקומי. כדי למצוא את ההבדל בין זמן UTC וזמן מקומי, השתמש בכרטיסיה אזור זמן בפריט תאריך ושעה לוח הבקרה.
גירסה מבוססת x86 עבור Windows Server 2000, Windows Server 2003 ו- Windows XP
| שם קובץ | גירסת קובץ | גודל קובץ | תאריך | שעה | פלטפורמה |
|---|---|---|---|---|---|
| System.servicemodel.web.dll | 3.5.594.4152 | 569,344 | 22 יול-2009 | 01:51 | x86 |
גירסה מבוססת x64 עבור Windows Server 2000, Windows Server 2003 ו- Windows XP
| שם קובץ | גירסת קובץ | גודל קובץ | תאריך | שעה | פלטפורמה |
|---|---|---|---|---|---|
| System.servicemodel.web.dll | 3.5.594.4152 | 491,520 | 22 יול-2009 | 02:13 | x64 |
גירסה מבוססת Itanium עבור Windows Server 2000, Windows Server 2003 ו- Windows XP
| שם קובץ | גירסת קובץ | גודל קובץ | תאריך | שעה | פלטפורמה |
|---|---|---|---|---|---|
| System.servicemodel.web.dll | 3.5.594.4152 | 491,520 | 22 יול-2009 | 02:26 | IA-64 (IA-64) |
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".
פתרון
כדי לעקוף בעיה זו, ארח באופן עצמי את שירות WCF במקום לארח את השירות ב- IIS.
מידע נוסף
פרטי Dump של ערימה
System.ServiceModel.dll!System.ServiceModel.Channels.HttpsChannelListener.ApplyHostedContext(System.ServiceModel.Activation.VirtualPathExtension virtualPathExtension, bool isMetadataListener) + 0x1b7 bytes
System.ServiceModel.dll!System.ServiceModel.Channels.HttpsTransportBindingElement.BuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x69 bytes
System.ServiceModel.dll!System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener<System.__Canon>() + 0x5f bytes
System.ServiceModel.dll!System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x66 bytes
System.ServiceModel.Web.dll!System.ServiceModel.Channels.WebScriptMetadataMessageEncodingBindingElement.BuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x4b bytes
System.ServiceModel.dll!System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener<System.__Canon>() + 0x5f bytes
System.ServiceModel.dll!System.ServiceModel.Channels.Binding.BuildChannelListener<System.__Canon>(System.Uri listenUriBaseAddress, string listenUriRelativeAddress, System.ServiceModel.Description.ListenUriMode listenUriMode, System.ServiceModel.Channels.BindingParameterCollection parameters) + 0xa6 bytes
System.ServiceModel.dll!System.ServiceModel.Channels.Binding.BuildChannelListener<System.__Canon>(System.Uri listenUriBaseAddress, System.ServiceModel.Channels.BindingParameterCollection parameters) + 0x7c bytes
System.ServiceModel.Web.dll!System.ServiceModel.Description.WebScriptEnablingBehavior.AddMetadataEndpoint(System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher, bool debugMode) + 0x698 bytes
System.ServiceModel.Web.dll!System.ServiceModel.Description.WebScriptEnablingBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher) + 0x60 bytes