Δύο ζητήματα που παρουσιάζονται κατά την ανάπτυξη μιας εφαρμογής που βασίζεται στο ASP.NET 2.0 σε ένα διακομιστή που εκτελεί τις υπηρεσίες IIS 7.0 ή IIS 7.5 σε ενσωματωμένη λειτουργία

Συμπτώματα

Μπορείτε να αναπτύξετε μια εφαρμογή Web που βασίζεται σε Microsoft ASP.NET 2.0 σε μια τοποθεσία Web που φιλοξενείται σε ένα διακομιστή του Office SharePoint. Έχετε Internet Information Services (IIS) 7.0 ή IIS 7.5 εκτελείται σε ενοποιημένη λειτουργία στο διακομιστή. Σε αυτήν την περίπτωση, αντιμετωπίζετε τα ακόλουθα ζητήματα.

Πρόβλημα 1

Μπορείτε να αναπτύξετε ορισμένα μερικώς αξιόπιστα τμήματα Web στην τοποθεσία του SharePoint. Αυτά τα τμήματα Web έχουν περισσότερα δικαιώματα από πρέπει να έχουν. Αυτό το ζήτημα ενδέχεται να δημιουργήσει κίνδυνο για την ασφάλεια της τοποθεσίας του SharePoint. Για παράδειγμα, αυτά τα τμήματα Web ενδέχεται να δημιουργήσει βάση δεδομένων αιτήσεις ή αιτήσεις HTTP απροσδόκητα. Αυτή η συμπεριφορά δημιουργεί έναν κίνδυνο ασφαλείας.

Σημείωση Μερικώς αξιόπιστα τμήματα Web είναι τμήματα Web που αναπτύσσονται στον κατάλογο Bin μιας εφαρμογής Web.

Πρόβλημα 2

Ο μετρητής επιδόσεων "Αιτήσεις σε ουρά" σε ένα αντικείμενο επιδόσεων ASP.NET λειτουργεί σωστά. Όταν χρησιμοποιείτε την τοποθεσία του SharePoint, αυτό το ζήτημα μπορεί να υποβαθμίσει τις επιδόσεις της τοποθεσίας του SharePoint.

Η απόδοση "Αιτήσεις σε ουρά" μετρητής λειτουργεί σωστά όταν ισχύουν οι ακόλουθες συνθήκες:
  • Η εφαρμογή θα εκτελείται σε κατάσταση λειτουργίας κλασικού των υπηρεσιών IIS.
  • Όταν οι αιτήσεις καταχωρούνται στο κοινό χώρο συγκέντρωσης νημάτων κατά το χρόνο εκτέλεσης (CLR) γλώσσας, αυξάνει την τιμή του μετρητή επιδόσεων.
  • Όταν οι αιτήσεις αφήσετε το χώρο συγκέντρωσης νημάτων CLR, μειώνει την τιμή του μετρητή επιδόσεων.

Αιτία

Πρόβλημα 1

Αυτό το ζήτημα παρουσιάζεται εξαιτίας ενός σφάλματος στο στοιχείο ελέγχου ταυτότητας ASP.NET 2.0. Το σφάλμα προκαλεί το μερικώς αξιόπιστα τμήματα Web να απομιμούνται το λογαριασμό χώρου συγκέντρωσης εφαρμογών. Επομένως, τα τμήματα Web έχουν πλήρη δικαιώματα πρόσβασης σε τοποθεσία του SharePoint.

Πρόβλημα 2

Αυτό το ζήτημα παρουσιάζεται επειδή ο μετρητής επιδόσεων "ASP.NET\Request σε ουρά" αναφέρει μόνο τις τιμές όταν μια αίτηση είναι στην ουρά στην ουρά ASP.NET. Δεν μετρά τις αιτήσεις που βρίσκονται σε αναμονή για το χώρο συγκέντρωσης νημάτων CLR.

Προτεινόμενη αντιμετώπιση

Πρόβλημα 1

Αυτή η επείγουσα επιδιόρθωση δημιουργεί μια νέα εφαρμογή ρύθμιση διαθέσιμη στο ASP.NET 2.0. Η νέα ρύθμιση εφαρμογής είναι aspnet:AllowAnonymousImpersonation. Μπορείτε να ενεργοποιήσετε αυτήν τη ρύθμιση, προσθέτοντας την ακόλουθη ενότητα στο αρχείο Web.config:
    <appSettings>        <add key="aspnet:AllowAnonymousImpersonation" value="true" />
</appSettings>

Για να ενεργοποιήσετε αυτήν τη ρύθμιση, πρέπει να έχετε IIS 7 ή 7.5 IIS εκτελείται σε κατάσταση ενοποίησης. Όταν είναι ενεργοποιημένη αυτή η ρύθμιση, η εφαρμογή θα εκτελείται στο περιβάλλον ασφαλείας της ταυτότητας IUSR.

Πρόβλημα 2

Εάν εποπτεύετε το μετρητή επιδόσεων "ASP.NET\Request σε ουρά" μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης, μπορείτε να δείτε τις τιμές αύξηση για την ίδια εφαρμογή με το ίδιο φορτίο. Αυτό συμβαίνει επειδή ο μετρητής επιδόσεων "ASP.NET\Request σε ουρά" μετράει τόσο των αιτημάτων που έχουν τοποθετηθεί σε ουρά στην ουρά ASP.NET και τις αιτήσεις που βρίσκονται σε αναμονή για το χώρο συγκέντρωσης νημάτων CLR.

Πληροφορίες άμεσης επιδιόρθωσης

Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται για τη διόρθωση μόνο του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack που περιέχει αυτήν την επείγουσα επιδιόρθωση.

Για να επιλύσετε αυτό το ζήτημα αμέσως, επικοινωνήστε με υπηρεσίες υποστήριξης πελατών της Microsoft για να αποκτήσετε την επείγουσα επιδιόρθωση. Για μια πλήρη λίστα αριθμών τηλεφώνου υπηρεσίες υποστήριξης πελατών της Microsoft και πληροφορίες σχετικά με το κόστος υποστήριξης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ίσως ακυρωθούν εάν ο επαγγελματίας υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.

Προϋποθέσεις

Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε το Microsoft.NET Framework 3.5 Service Pack 1 (SP1) σε έναν υπολογιστή που εκτελεί ένα από τα ακόλουθα λειτουργικά συστήματα:
  • Windows Vista Service Pack 2 (SP2)
  • Τα Windows Server 2008 SP2
  • Windows 7
  • Windows Server 2008 R2

Απαίτηση επανεκκίνησης

Πρέπει να επανεκκινήσετε τον υπολογιστή μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης, εάν τα ενεχόμενα αρχεία που χρησιμοποιούνται κατά την εγκατάσταση της επείγουσας επιδιόρθωσης. Για να αποφύγετε την επανεκκίνηση του υπολογιστή, τερματίστε οποιαδήποτε τοποθεσία ASP.NET Web πριν να εγκαταστήσετε την επείγουσα επιδιόρθωση.

Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης


Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά άλλες επείγουσες επιδιορθώσεις.

Πληροφορίες αρχείων

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.
Για όλες τις υποστηριζόμενες εκδόσεις των Windows Vista SP2 και του Windows Server 2008 SP2 που βασίζονται σε x86
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Aspnet_wp.exe2.0.50727.443530,54403-Mar-201012:08x86
Webengine.dll2.0.50727.4435435,53603-Mar-201012:08x86
System.web.dll2.0.50727.44355,242,88003-Mar-201012:08x86
Για όλες τις υποστηριζόμενες εκδόσεις των Windows Vista SP2 και του Windows Server 2008 SP2 που βασίζονται σε x64
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Aspnet_wp.exe2.0.50727.443542,32003-Mar-201012:08x64
Webengine.dll2.0.50727.4435744,78403-Mar-201012:08x64
System.web.dll2.0.50727.44355,255,16803-Mar-201012:08x64
Για όλες τις υποστηριζόμενες εκδόσεις του Windows Server 2008 SP2 που βασίζονται σε τεχνολογία IA-64
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Aspnet_wp.exe2.0.50727.443582,25603-Mar-201012:09IA-64
Webengine.dll2.0.50727.44351,229,64803-Mar-201012:09IA-64
System.web.dll2.0.50727.44354,775,93603-Mar-201012:09IA-64
Για όλες τις υποστηριζόμενες εκδόσεις των Windows 7 που βασίζονται σε τεχνολογία x86
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Aspnet_wp.exe2.0.50727.500730,54403-Mar-201023:27x86
Webengine.dll2.0.50727.5007436,04803-Mar-201023:27x86
System.web.dll2.0.50727.50075,246,97603-Mar-201023:27x86
Για όλες τις υποστηριζόμενες εκδόσεις των Windows 7 και Windows Server 2008 R2 που βασίζονται σε τεχνολογία x64
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Aspnet_wp.exe2.0.50727.500742,32003-Mar-201023:26x64
Webengine.dll2.0.50727.5007745,29603-Mar-201023:26x64
System.web.dll2.0.50727.50075,255,16803-Mar-201023:26x64
Για όλες τις υποστηριζόμενες εκδόσεις του Windows Server 2008 R2 που βασίζονται σε IA-64
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Aspnet_wp.exe2.0.50727.500782,25603-Mar-201023:25IA-64
Webengine.dll2.0.50727.50071,231,18403-Mar-201023:25IA-64
System.web.dll2.0.50727.50074,775,93603-Mar-201023:25IA-64

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε το ζήτημα 1, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους.

Μέθοδος 1

Δημιουργήστε ένα λογαριασμό που έχει το ίδιο όνομα χρήστη και κωδικό πρόσβασης όπως την ταυτότητα IUSR. Στη συνέχεια, πληκτρολογήστε το όνομα και τον κωδικό πρόσβασης σε μια ενότητα ταυτότητα και, στη συνέχεια, να προσθέσει την ενότητα στο αρχείο Web.config επιπέδου εφαρμογής. Για παράδειγμα, προσθέστε την παρακάτω ενότητα στο αρχείο Web.config επιπέδου εφαρμογής:
<identity impersonate="true" username="username" password=" password" />
Επιπλέον, πρέπει να προσθέσετε την ακόλουθη ρύθμιση παραμέτρων στο αρχείο Web.config επιπέδου εφαρμογής για να αποτρέψετε το σφάλμα ρύθμισης παραμέτρων των υπηρεσιών IIS που παρουσιάζεται κατά την προσθήκη της ενότητας ταυτότητα:
<system.webServer><validation validateIntegratedModeConfiguration="false" />
</system.webServer>
Μέθοδος 2

Ενεργοποιήσετε την ανώνυμη πρόσβαση και έλεγχος ταυτότητας με βάση φόρμες ASP.NET σε κατάσταση λειτουργίας κλασικού των υπηρεσιών IIS. Στη συνέχεια, χρησιμοποιήστε την ακόλουθη ρύθμιση παραμέτρων για την απομίμηση του διακριτικού ανώνυμου χρήστη:
<identity impersonate=”true”/>
Σε αυτήν την περίπτωση, του διακριτικού ανώνυμου χρήστη είναι το διακριτικό IUSR.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με τις επιλογές που μπορείτε να χρησιμοποιήσετε για να αναπτύξετε τα τμήματα Web του SharePoint, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft TechNet στο Web:Για περισσότερες πληροφορίες σχετικά με τους μετρητές επιδόσεων για το ASP.NET, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:Για περισσότερες πληροφορίες σχετικά με την ορολογία των ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft:

824684 περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft

Ιδιότητες

Αναγνωριστικό άρθρου: 979917 - Τελευταία αναθεώρηση: 13 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια