
Έχω μια ιστοσελίδα τρέχει μέσω IIS7 σε Vista. Η ιστοσελίδα λειτουργεί στη θύρα 88, έτσι [http: // localhost: 88](http://localhost:88) θα πρέπει να καθιστούν την προεπιλεγμένη προβολή / Home / Index.


Αυτό λειτουργεί σωστά, όπως και όλες τις άλλες απόψεις. 


Ωστόσο, ένα πρόβλημα που είναι κάτοικος. σενάριο μονοπάτια μου δείχνουν / Scripts / [FILE] και μονοπάτια CSS μου δείχνουν / Περιεχόμενο / [FILE]. Η υπόθεσή μου είναι ότι ο / Περιεχόμενο του φακέλου ή / Scripts θα είναι πάντα στη ρίζα του τόπου, όπως δεν έχω καμία πρόθεση να τρέξει αυτό το site σε ένα περιβάλλον εικονικού καταλόγου. Κάθε φορά που οι σελίδες καθιστούν, δεν έχουν καμία CSS ή δέσμη ενεργειών! Έτσι, όλα φαίνονται ασταθές και η scripting προφανώς δεν λειτουργεί, ως εκ τούτου, πολλές από τις απόψεις δεν λειτουργεί σωστά.


Αυτό είναι ένα πολύ περίεργο πρόβλημα, αυτό που είμαι σίγουρος είναι αποτέλεσμα της έλλειψης μου γνώση που φιλοξενεί τα πράγματα κάτω από IIS7. Θα εκτιμούσα οποιαδήποτε βοήθεια κάποιος θα μπορούσε να προσφέρει. Ευχαριστώ πολύ!

 
MVC + IIS7 = CSS Έκδοση
=======================



Ελπίζω η συνέχεια του αυτό το νήμα μεταφέρει την επιθυμία για να βεβαιωθείτε ότι το πρόβλημα αυτό δεν οδηγεί κανείς από τον βράχο. Υπάρχουν πολλά έγγραφα σε διάφορα φόρουμ για την επίλυση αυτού του ζητήματος στα Vista, αλλά δεν μπόρεσα να βρω κάποια παρόμοια είδη για 2K8. Όπως αναφέρεται σε αυτό το [μήνυμα στο φόρουμ](http://forums.iis.net/p/1143592/1849083.aspx#1849083) ήμουν σε θέση να διορθώσετε το πρόβλημα σε ένα μηχάνημα Vista. Αλίμονο, μια παρόμοια εκτέλεση απέτυχε να επιλύσουν το θέμα στο 2K8.


Είχα διαπιστώσει ότι η StaticFileHandler είχε συμπεριληφθεί στο web.config [όπως προτείνεται σε αυτό το blog post στο apijunkie.com](http://www.apijunkie.com/APIJunkie/blog/post/2007/11/Breaking-changes-in-ASPNet-20-HTTP-Handlers-when-moving-from-IIS5-on-Windows-2000-to-IIS6-on-Windows-2003.aspx) . Ακόμα, καμία τύχη.


Αποσαφήνιση *καμία τύχη, εδώ* - server-side λειτουργία μου ήταν τέλεια. Όλες οι διαδρομές MVC λειτουργεί σαν πρωταθλητής. Απλά όλα τα CSS και JS απόδοση απέτυχε. Όταν το πρόγραμμα περιήγησης στραμμένο προς CSS ή JS αρχείων σελίδα που ήταν ASP.NET 404 και όχι το *παραδοσιακό* σελίδα 404 λάθους.


Έτσι πήγα στον διευθυντή IIS7 και στο πλαίσιο διαλόγου Handler αντιστοιχίσεις. Πρόσθεσα ένα νέο πρόγραμμα χειρισμού που καθορίζονται ο τύπος System.Web.StaticFileHandler και έδωσε παράταση * .css. Στη συνέχεια, επανέλαβε ότι για * .js, * .PNG και * .GIF αρχεία. Όταν ανανεώνεται η ιστοσελίδα στο πρόγραμμα περιήγησης, τα πάντα καθίστανται perectly. Τα παρακάτω στιγμιότυπα αποδεικνύουν αυτή τη διαδικασία.


Το Παράθυρο Αντιστοιχίσεις χειρισμού: 


![αντιστοιχίσεις χειριστή](https://bradygstorage.blob.core.windows.net/images/managed-handler.png)


Προσθέτοντας μια νέα Υπεύθυνη για τη διαχείριση Handler


![alt κείμενο](https://bradygstorage.blob.core.windows.net/images/add-managed-handler.png)


Αυτό επιλυθεί το πρόβλημα, και τώρα έχω μια τέλεια λειτουργία MVC app φιλοξενείται σε W2K. Ώρα για μια Guinness.

 

Από τον Πίνακα Ελέγχου, μεταβείτε στο Ενεργοποίηση δυνατοτήτων των Windows ή να απενεργοποιήσετε, στη συνέχεια, ελέγξτε Στατικό Περιεχόμενο σε υπο-υπο-υπο κόμβο του IIS.

 

Το πρόβλημα ήταν με τον τρόπο που δημιούργησε την εφαρμογή. Σύμφωνα με το [θέμα του φόρουμ που βρίσκεται εδώ](http://dev.communityserver.com/forums/t/485290.aspx) , είχα ανάγκη να επιλέξετε το «Classic .NET AppPool» για να διορθώσετε το πρόβλημά μου. Gotta πρόοδο αγάπη!

 

Βγάζει αυτό δεν αποτελεί λύση για τα Windows 2008. Αν κάποιος έχει κάποια ιδέα για το πώς να επιλύσετε αυτό το ζήτημα αυτό θα πρέπει να εκτιμηθεί. 


Λεπτομερής πρόβλημα:


Παράθυρα 2K8 Server, IIS7. Έχετε αγωγού ενεργοποιηθεί και να εγκατασταθεί στατική υποστήριξη αρχείων. MVC λειτουργεί, αλλά CSS δεν καθιστά.


Τι στο καλό?

 

Το πρόβλημα δεν έγκειται ακριβώς στην άδεια / πιστοποίηση, αλλά στις ενότητες που διαχειρίζεται τώρα το IIS. Μέσα system.webServer θα πρέπει να έχετε **runAllManagedModulesForAllRequests** οριστεί σε **ψευδή** , ώστε να μπορείτε να εμφανίσετε όλες τις εικόνες / CSS χωρίς προβλήματα με έλεγχο ταυτότητας.


Σε ιστοσελίδες ASP.NET, η αξία των **runAllManagedModulesForAllRequests** έπρεπε προηγουμένως να οριστεί σε true για την υποστήριξη δρομολόγησης. Ωστόσο, από τη στιγμή **IIS 7 έχει ενημερωθεί με Service Pack** , η αξία των **runAllManagedModulesForAllRequests** μπορεί να ρυθμιστεί σε **ψευδείς** ή παράλειψη κατά την εργασία με ASP.NET δρομολόγησης.


Κωδ. <http://www.iis.net/configreference/system.webserver/modules>


PS Μην ξεχάσετε να προσθέσετε τις παρακάτω γραμμές στο τμήμα appSettings του αρχείου web.config μου:


<Add key = value "autoFormsAuthentication" = "false" />


<Add key = value "enableSimpleMembership" = "false" />

 