ΕΙΣΑΓΩΓΗ
Υποδομή επικοινωνίας των Windows (WCF) δεν διαθέτει τη λειτουργικότητα να στείλετε ασφαλή μηνύματα και, στη συνέχεια, να λάβετε αποκρίσεις χωρίς ασφάλεια, ή να στείλετε ασφαλή μηνύματα και να λαμβάνετε ασφαλή απαντήσεις. Η επείγουσα επιδιόρθωση που περιγράφεται σε αυτό το άρθρο προσθέτει ένα νέο χαρακτηριστικό enableUnsecuredResponse . Η προεπιλεγμένη τιμή του χαρακτηριστικού enableUnsecuredResponse είναι FALSE (ψευδές). Εάν ορίσετε την τιμή αυτού του χαρακτηριστικού σε true, τις ακόλουθες νέες δυνατότητες είναι ενεργοποιημένες στο WCF:
-
WCF υπολογιστές-πελάτες μπορεί να δεχτεί μη ασφαλείς αποκρίσεις, ακόμη και αν τα εξερχόμενα μηνύματα ασφαλίζονται με χρήση του πρωτοκόλλου Secure Socket Layer (SSL) για να υπογράψετε το σώμα του μηνύματος.
-
Υπηρεσίες WCF μπορεί να στείλει μη ασφαλείς αποκρίσεις που έχουν χωρίς κεφαλίδα ασφαλείας σε φακέλους SOAP, ακόμα και αν η αίτηση είναι ασφαλής.
Σημείωση Το χαρακτηριστικό enableUnsecuredResponse ισχύει μόνο μόνο για τον τύπο προσαρμοσμένη σύνδεση .
Προτεινόμενη αντιμετώπιση
Εάν χρησιμοποιείτε το .NET Framework 3.0, εγκαταστήστε την επείγουσα επιδιόρθωση που περιγράφεται στο ακόλουθο άρθρο της Γνωσιακής:
967105 ΕΠΙΔΙΌΡΘΩΣΗ: μια επείγουσα επιδιόρθωση που σας δίνει τη δυνατότητα WCF για την αποστολή ασφαλών μηνυμάτων και λήψη μη ασφαλής απαντήσεις και να στείλετε ασφαλή μηνύματα και να λαμβάνετε ασφαλή απαντήσεις, είναι διαθέσιμο για το .NET Framework 3.0Εάν χρησιμοποιείτε το .NET Framework 3.5 Service Pack 1 στα Windows 7 ή Windows Server 2008 R2, εγκαταστήστε την επείγουσα επιδιόρθωση που περιγράφεται στο ακόλουθο άρθρο της Γνωσιακής:
977420 μια επείγουσα επιδιόρθωση, τη συλλογή ενημερωμένων εκδόσεων είναι διαθέσιμη για να διορθώσετε προβλήματα στην υποδομή επικοινωνιών των Windows με το .NET Framework 3.5 SP1 για Windows 7 και Windows Server 2008 R2 Εάν χρησιμοποιείτε το .NET Framework 3.5 Service Pack 1 σε άλλα λειτουργικά συστήματα, εγκαταστήστε την ακόλουθη επείγουσα επιδιόρθωση για να επιλύσετε το πρόβλημα. Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται για τη διόρθωση μόνο του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για να επιλύσετε αυτό το ζήτημα αμέσως, επικοινωνήστε με υπηρεσίες υποστήριξης πελατών της Microsoft για να αποκτήσετε την επείγουσα επιδιόρθωση. Για μια πλήρη λίστα αριθμών τηλεφώνου υπηρεσίες υποστήριξης πελατών της Microsoft και πληροφορίες σχετικά με το κόστος υποστήριξης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.microsoft.com/contactus/?ws=supportΣημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ίσως ακυρωθούν εάν ο επαγγελματίας υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.
Προϋποθέσεις
Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε το .NET Framework 3.5 Service Pack 1.
Απαίτηση επανεκκίνησης
Δεν χρειάζεται να επανεκκινήσετε τον υπολογιστή μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης, εάν χρησιμοποιείται καμία παρουσία του .NET Framework.
Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης
Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά άλλες επείγουσες επιδιορθώσεις.
Πληροφορίες αρχείων
Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.
Πληροφορίες αρχείων για όλες τις εκδόσεις που βασίζονται σε 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(); }