Εργασία με πόρους Web ASP.

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 910442 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Στήλη φωνητική υποστήριξη ASP.

Εργασία με πόρους Web ASP.

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

Σε αυτήν τη σελίδα

Εισαγωγή

Hi! Το όνομά μου είναι Praveen Yerneni και είμαι μια εργασία τεχνικής καθοδήγησης με την ομάδα υποστήριξης ASP.NET στη Microsoft. Στη στήλη αυτού του μήνα, θα κάνουμε Για να συζητήσετε πόρους Web και πώς να τις εφαρμόσετε σε σας εφαρμογή.

Εάν είστε προγραμματιστής που λειτουργεί σε μεγάλο βαθμό με COM στοιχεία ελέγχου, μπορείτε να βρείτε αυτό το άρθρο χρήσιμο εξετάζοντας ορισμένες από το κλειδί ζητήματα που ενδέχεται να αντιμετωπίσετε κατά την ανάπτυξη στοιχείων ελέγχου. Προηγουμένως, στο Microsoft Το ASP.NET 1.1, εάν θέλατε να αναπτύξετε στατικά αρχεία όπως τα αρχεία .html, .css αρχεία, αρχεία εικόνας και αρχεία δέσμης ενεργειών, χρησιμοποιώντας ένα στοιχείο ελέγχου COM, θα έπρεπε να δημιουργήσετε ένα πρόγραμμα εγκατάστασης και δέσμη ελέγχουν αυτά τα αρχεία μαζί με το COM. Αν και Αυτό λειτουργούσε, αυτό παρουσιάζονται πολλά προβλήματα κατά την υλοποίηση του στοιχείου ελέγχου. Για το παράδειγμα, ίσως να απαιτούσε προβλημάτων με διενέξεις έκδοσης, με επιβεβαιώνοντας ότι αρχεία, όπως εικόνες έχουν αναπτυχθεί στην ίδια θέση ή με κατεστραμμένο ή διαγραμμένο στατικά αρχεία που θα μπορούσε να προκαλέσει την αποτυχία του ελέγχου.

Web Πόροι στο Microsoft ASP.NET 2.0 αντιμετωπίζει τα ζητήματα αυτά, επιτρέποντας την προγραμματιστής ενσωμάτωση αυτών των πόρων στη συγκρότηση ως .resources. Για να αποκτήσετε πρόσβαση σε αυτές στατική πόρους, μπορείτε απλά να καλέσετε μια μέθοδο του στοιχείου ελέγχου Κωδικός.

Πώς λειτουργούν οι πόροι Web

Οι πόροι Web που βασίζονται σε ένα ειδικό πρόγραμμα χειρισμού που ονομάζεται WebResource.axd, η οποία έχει σχεδιαστεί για να ανακτήσετε πόρους συγκρότησης και εξυπηρετούν τους στο πρόγραμμα περιήγησης Web. Ο τύπος του δείκτη χειρισμού για WebResource.axd είναι AssemblyResourceLoader.

Όταν παρουσιάζεται μια αίτηση από τον υπολογιστή-πελάτη WebResource.axd, το πρόγραμμα χειρισμού αναζητεί το αναγνωριστικό πόρου Web στη συμβολοσειρά ερωτήματος μέθοδο του αντικειμένου Request . Με βάση την τιμή του αναγνωριστικού πόρου Web, το πρόγραμμα χειρισμού, στη συνέχεια, προσπαθεί να φορτώσει τη συγκρότηση που περιέχει αυτόν τον πόρο. Εάν αυτό η λειτουργία είναι επιτυχής, το πρόγραμμα χειρισμού, στη συνέχεια, θα αναζητήσει το χαρακτηριστικό συγκρότησης και να φορτώσει τη ροή πόρων από τη συγκρότηση. Τέλος, θα πάρετε το πρόγραμμα χειρισμού ροή δεδομένων από τον πόρο και να το στείλετε στον υπολογιστή-πελάτη, μαζί με το ο τύπος περιεχομένου που καθορίζετε στο χαρακτηριστικό συγκρότησης.

Η διεύθυνση URL για WebResource.axd μοιάζει με το ακόλουθο κείμενο:
WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&t=632768953157700078
Η μορφή αυτού του URL είναι WebResource.axd?d=κρυπτογραφημένο αναγνωριστικό& t =τιμή σήμανσης χρόνου. Το "d" συμβολίζει τον πόρο Web που ζητήθηκε. Το "t" είναι η χρονική σήμανση για το ζητήθηκε συγκρότηση, που μπορεί να σας βοηθήσει στην εξακρίβωση ότι υπήρξαν κάποια αλλαγές στον πόρο.

Παράθεση κώδικα

Στο παράδειγμα, που έχουν αναπτύξει ένα στοιχείο ελέγχου COM που καταναλώνεται από μια εφαρμογή Web του ASP.NET για να αποδειχθεί αυτή η νέα δυνατότητα.

Στοιχείο ελέγχου COM για τον πόρο Web

Για τη δημιουργία και την ενσωμάτωση ενός πόρου Web, που έχουν αναπτύξει ένα COM στοιχείο ελέγχου (SimpleControl). Έχει τους ακόλουθους πόρους ενσωματωμένο:
  • Δύο τα αρχεία που ονομάζονται smallFail.gif εικόνας και smallSuccess.gif. αυτά τα αρχεία εικόνας που χρησιμοποιούνται για εφέ κατάδειξης με το στοιχείο ελέγχου και είναι καταναλώνονται μέσα στον κώδικα ελέγχου.
  • Ένα αρχείο HTML που ονομάζεται Help.htm. Αυτό το αρχείο δεν έχει περιέχει πολύ κείμενο και προορίζεται απλώς για επίδειξη.
  • Ένα αρχείο JavaScript που ονομάζεται MyScript.js. Αυτό το αρχείο περιέχει ένα τμήμα κώδικα JavaScript που δείχνει επίσης τη δυνατότητα υποκατάστασης Για να λάβετε μια αναφορά σε άλλο ενσωματωμένο πόρο στην ίδια η συγκρότηση.
  • Ένα αρχείο .css που ονομάζεται MyStyleSheet.css. Αυτό το στυλ φύλλο, στη συνέχεια, καταναλώνεται απευθείας από την εφαρμογή Web του ASP.NET.
Σε αυτό το άρθρο θα συζητήσουμε τα τμήματα που απαιτούνται για Οι πόροι Web.
Ενσωμάτωση των πόρων Web
Πρώτα, πρέπει να βεβαιωθείτε ότι όλα τα στατικά αρχεία που είναι προστίθενται στη βιβλιοθήκη του στοιχείου ελέγχου Web έχουν έργου στο Microsoft Visual Studio 2005 ενσωματωμένο πόρους. Για να ενσωματώσετε αυτών των πόρων, που πρέπει να κάνετε είναι να προσθέσετε αυτά τα αρχεία στο Visual Studio και στη συνέχεια να τροποποιήσετε τις ιδιότητες αυτών των αρχείων έτσι ότι η ενέργεια build έχει οριστεί σε Ενσωματωμένο Πόρος.

Αφού γίνει αυτό, πρέπει επίσης να δημιουργήσετε ότι ότι αυτοί οι πόροι έχουν αναφερθεί από το χαρακτηριστικό συγκρότησης πόρου Web στο αρχείο AssemblyInfo.cs όπως φαίνεται παρακάτω.
[assembly: WebResource("SimpleControl.Help.htm", "text/html")]
[assembly: WebResource("SimpleControl.MyStyleSheet.css", "text/css")]
[assembly: WebResource("SimpleControl.smallFail.gif", "image/gif")]
[assembly: WebResource("SimpleControl.smallSuccess.gif", "image/gif")]
[assembly: WebResource("SimpleControl.MyScript.js", "text/javascript", PerformSubstitution = true)]

Το χαρακτηριστικό συγκρότησης πόρου Web έχει τρεις παραμέτρους ως εξής:
  • Πόρου Web: το όνομα του πόρου που είναι ενσωματωμένη στη συγκρότηση
  • Το ContentType: τύπος αρχείου του MIME για τον πόρο
  • PerformSubstitution: μια δυαδική τιμή που καθορίζει αν άλλες διευθύνσεις URL πόρου Web που αναφέρονται σε αυτόν τον πόρο έχουν αναλυθεί και θα αντικατασταθεί με την πλήρη διαδρομή του πόρου
Λήψη των πόρων Web
Για τον πόρο Web, χρησιμοποίησα τη μέθοδο GetWebResourceUrl , η οποία είναι μια μέθοδος της κλάσης ClientScriptManager που χρησιμοποιείται συνήθως για τη Διαχείριση δέσμες ενεργειών υπολογιστή-πελάτη. Αυτή η μέθοδος επιστρέφει μια αναφορά στη διεύθυνση URL για τον πόρο του διακομιστή που είναι ενσωματωμένα σε μια συγκρότηση. Η μέθοδος GetWebResourceUrl δέχεται τις ακόλουθες δύο παραμέτρους:
  • Τύπος: Ο τύπος του πόρου διακομιστή
  • Όνομα πόρου: το όνομα του πόρου διακομιστή
Για να χρησιμοποιήσετε αυτήν τη μέθοδο, πρέπει πρώτα να δημιουργήσετε μια παρουσία της κλάσης ClientScriptManager και η λήψη του τύπου της κλάσης όπως φαίνεται παρακάτω.
ClientScriptManager cs = Page.ClientScript;
            Type rsType = this.GetType();

Όταν έχετε μια παρουσία αυτής της κλάσης, στη συνέχεια, πρέπει να καλέσετε αυτό η μέθοδος περάσει τις κατάλληλες παραμέτρους όπως φαίνεται παρακάτω, όπου μπορώ να δημιουργήσω ένα κουμπί υπερ-σύνδεση και ορίστε τη μέθοδο NavigateURL ώστε να παραπέμπει σε έναν ενσωματωμένο πόρο HTML.
HyperLink hlHelpFile = new HyperLink();
            hlHelpFile.NavigateUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.Help.htm");
            hlHelpFile.Attributes.Add("onmouseover", "ChangeImage('image1','Red')");
            hlHelpFile.Attributes.Add("onmouseout", "RollbackImage('image1','Green')");
            
            this.Controls.Add(hlHelpFile);

            Image imgTest = new Image();
            imgTest.ImageUrl = cs.GetWebResourceUrl(rsType, "SimpleControl.smallFail.gif");
            imgTest.ID = "image1";
            hlHelpFile.Controls.Add(imgTest);

Επίσης στη λίστα επάνω από τον ίδιο κωδικό που έχετε δημιουργήσει κουμπιού εικόνας και την ιδιότητα ImageUrl λαμβάνει την τιμή από μια άλλη εικόνα .gif ενσωματωμένο ο πόρος.
Χρήση της δυνατότητας υποκατάστασης
Μια άλλη χρήσιμη δυνατότητα χρήσης πόρων Web είναι η ιδιότητα PerformSubstitution του χαρακτηριστικού πόρου Web , όπως φαίνεται στην ενότητα "Ενσωμάτωση οι πόροι Web" παραπάνω. Αυτή η δυνατότητα σας επιτρέπει να έχετε πόρους Web μέσα σε άλλο ενσωματωμένο ο πόρος. Εάν αυτή η ιδιότητα είναι ενεργοποιημένη, το πρόγραμμα χειρισμού πόρου Web θα αναλύσει το ενσωματωμένο πόρο και να αντικαταστήσετε τη σύνταξη για το χαρακτηριστικό συγκρότησης πόρου Web με πραγματικούς πόρους πριν από την εξυπηρέτηση του σελίδα.

Στον παραπάνω κώδικα, θα παρατηρήσετε ότι το στοιχείο ελέγχου υπερ-σύνδεσης έχει μια εκδήλωση-πελάτη που ονομάζεται ChangeImage. Αυτή η λειτουργία ChangeImage βρίσκεται σε ένα αρχείο δέσμης ενεργειών. Ακολουθεί ο κώδικας για αυτήν τη δέσμη ενεργειών.
function ChangeImage(imgControl,varcolor){
   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallSuccess.gif")%>';
    document.getElementById('Label1').style.color = varcolor;
}

function RollbackImage(imgControl, varcolor){
   document.getElementById(imgControl).src = '<%= WebResource("SimpleControl.smallFail.gif")%>';
   document.getElementById('Label1').style.color = varcolor;
}
Αυτό το αρχείο δέσμης ενεργειών που ονομάζεται MyScript.js είναι επίσης έναν ενσωματωμένο πόρο στο ίδιο στοιχείο ελέγχου COM. Και παρατηρήστε ότι χρησιμοποιώ τη μέθοδο πόρου Web για να κάνετε παραπομπή σε άλλο ενσωματωμένο πόρο στη δέσμη ενεργειών το αρχείο.

Επίσης, για να βεβαιωθείτε ότι αυτό το αρχείο JavaScript είναι καταχωρημένοι στο στη σελίδα, θα χρησιμοποιήσετε τη μέθοδο RegisterClientScriptInclude της κλάσης ClientScriptManager όπως φαίνεται παρακάτω.
cs.RegisterClientScriptInclude("MyScript", cs.GetWebResourceUrl(rsType, "SimpleControl.MyScript.js"));

Καταναλώνει στο στοιχείο ελέγχου του ASP.NET

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

Όταν προσθέτετε το στοιχείο ελέγχου στην εργαλειοθήκη, το στοιχείο ελέγχου έχει καταχωρηθεί για εσάς και τον ακόλουθο κώδικα προστίθεται όταν εξετάζετε η σύνταξη HTML.
<cc1:MSButton ID="MSButton1" runat="server" strText="Problems?"></cc1:MSButton>
Στο στοιχείο ελέγχου μου COM, που έχουν ενσωματωμένα επίσης ένα αρχείο φύλλου στυλ, το οποίο θα να χρησιμοποιείτε σε μου εφαρμογή ASP.NET. Για να αποκτήσετε πρόσβαση σε αυτό το φύλλο στυλ, πρέπει να προσθέσετε μια σύνδεση HtmlControl στη σελίδα HTML και σύνολο την ιδιότητα runatδιακομιστή όπως φαίνεται παρακάτω.
<link rel="Stylesheet"  id="lnkStyle" runat="server"  />
Μετά από αυτό, μπορείτε να ορίσετε μέσω προγραμματισμού το χαρακτηριστικό Href αυτού του στοιχείου ελέγχου ώστε να δείχνει προς το χαρακτηριστικό συγκρότησης πόρου Web στο συμβάν Page_Load , όπως φαίνεται παρακάτω.
protected void Page_Load(object sender, EventArgs e)
    {
        //Get the name of the Web Resource.
        String rsname = "SimpleControl.MyStyleSheet.css";
        
        //Get the type of the class.
        Type rstype = typeof(SimpleControl.MSButton);

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;
        lnkStyle.Href = cs.GetWebResourceUrl(rstype, rsname);
     }

Όταν εκτελείτε τον κώδικα, θα δείτε ένα στοιχείο ελέγχου που μοιάζει με το μετά από:
Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
 μικρό αποτυχίας
Και σε mouse-over, το στοιχείο ελέγχου θα είναι ως εξής:
Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
 μικρή επιτυχία
Όταν κάνετε κλικ σε αυτήν τη σύνδεση, αυτό θα σας μεταφέρει στη σελίδα "Βοήθεια", όπου είναι ενσωματωμένο στο αρχείο συναρμολόγησης ελέγχου COM.

Συμπέρασμα

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

Στο ASP.NET 2.0, WebResource.axd χρησιμοποιείται εσωτερικά από το Microsoft .NET Framework για να ανακτήσετε ενσωματωμένο πόρους. Για παράδειγμα, το .NET framework χρησιμοποιεί WebResource.axd για την ανάκτηση της δέσμης ενεργειών WebUIValidation.js το αρχείο που χρησιμοποιείται για τα στοιχεία ελέγχου επικύρωσης και για να ανακτήσετε το αρχείο δέσμης ενεργειών Menu.js για στοιχεία ελέγχου μενού .

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε τις ακόλουθες τοποθεσίες της Microsoft στο Web:
Η μέθοδος ClientScriptManager.GetWebResourceUrl
http://msdn2.Microsoft.com/en-us/library(d=robot) /system.web.ui.clientscriptmanager.getwebresourceurl.aspx

Κλάση WebResourceAttribute
http://msdn2.Microsoft.com/en-us/library(d=robot) /system.web.ui.webresourceattribute.aspx

Συνδεδεμένα έναντι ενσωματωμένων πόρων
http://msdn2.Microsoft.com/en-us/library/ht9h2dk8.aspx
Όπως πάντα, διστάσετε να υποβάλουν ιδέες σχετικά με θέματα που θέλετε απευθύνεται σε μελλοντικές στήλες ή τη χρήση της Γνωσιακής Βάσης της Ζητήστε την φόρμα.

Ιδιότητες

Αναγν. άρθρου: 910442 - Τελευταία αναθεώρηση: Τρίτη, 30 Απριλίου 2013 - Αναθεώρηση: 6.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 2.0
Λέξεις-κλειδιά: 
kbhowto kbasp kbmt KB910442 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 910442
Αποποίηση ευθυνών για περιεχόμενο της Γνωσιακής Βάσης (KB) που έχει αποσυρθεί
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com