MVC + IIS7 = CSS Έκδοση

ψήφοι
12

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

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

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

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

Δημοσιεύθηκε 09/12/2008 στις 19:19
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
13

Ελπίζω η συνέχεια του αυτό το νήμα μεταφέρει την επιθυμία για να βεβαιωθείτε ότι το πρόβλημα αυτό δεν οδηγεί κανείς από τον βράχο. Υπάρχουν πολλά έγγραφα σε διάφορα φόρουμ για την επίλυση αυτού του ζητήματος στα Vista, αλλά δεν μπόρεσα να βρω κάποια παρόμοια είδη για 2K8. Όπως αναφέρεται σε αυτό το μήνυμα στο φόρουμ ήμουν σε θέση να διορθώσετε το πρόβλημα σε ένα μηχάνημα Vista. Αλίμονο, μια παρόμοια εκτέλεση απέτυχε να επιλύσουν το θέμα στο 2K8.

Είχα διαπιστώσει ότι η StaticFileHandler είχε συμπεριληφθεί στο web.config όπως προτείνεται σε αυτό το blog post στο apijunkie.com . Ακόμα, καμία τύχη.

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

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

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

αντιστοιχίσεις χειριστή

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

alt κείμενο

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

Απαντήθηκε 10/12/2008 στις 03:29
πηγή χρήστη

ψήφοι
7

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

Απαντήθηκε 30/11/2010 στις 06:23
πηγή χρήστη

ψήφοι
3

Το πρόβλημα ήταν με τον τρόπο που δημιούργησε την εφαρμογή. Σύμφωνα με το θέμα του φόρουμ που βρίσκεται εδώ , είχα ανάγκη να επιλέξετε το «Classic .NET AppPool» για να διορθώσετε το πρόβλημά μου. Gotta πρόοδο αγάπη!

Απαντήθηκε 09/12/2008 στις 20:00
πηγή χρήστη

ψήφοι
0

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

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

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

Τι στο καλό?

Απαντήθηκε 10/12/2008 στις 02:19
πηγή χρήστη

ψήφοι
-2

Το πρόβλημα δεν έγκειται ακριβώς στην άδεια / πιστοποίηση, αλλά στις ενότητες που διαχειρίζεται τώρα το 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" />

Απαντήθηκε 23/12/2014 στις 23:27
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more