ASP.NET 2.0 Web kaynakları ile çalışma

Makale çevirileri Makale çevirileri
Makale numarası: 910442 - Bu makalenin geçerli olduğu ürünleri görün.
ASP.NET Destek Sesi sütunu

ASP.NET 2.0 Web kaynakları ile çalışma

Bu sütunun ihtiyaçlarınıza özelleştirmek için Knowledge Base makaleleri ve Destek Sesi sütunu, fikirlerinizi ve görmek istediğiniz konuları ilgilendiren konularda gelecekte ele göndermek için sizi davet etmek istiyoruz. Fikir ve görüşlerinizi kullanarak gönderebilirsiniz. Bunun için sor Form. Bu sütunun alt form için bir bağlantı vardır.
Hepsini aç | Hepsini kapa

Bu Sayfada

Giriş

Hi! Praveen Yerneni benim adıdır ve teknik neden çalışma istiyorum Microsoft ASP.NET Destek grubu ile. Bu ayın sütununda, ben gidiyorum Web kaynakları ve bunların nasıl tartışmak için uygulama.

COM ile kapsamlı bir şekilde çalışan bir geliştirici iseniz denetimleri, bu makalede bazı anahtar adresleme yararlı olabilir denetimleri geliştirme sırasında karşılaştığınız sorunları. Daha önce Microsoft ASP.NET 1.1 .html dosyaları gibi statik dosyalara dağıtmak isterseniz, .css dosyaları, görüntü dosyaları ve komut dosyalarını kullanarak COM denetimi oluşturmak zorunda bir yükleyici ve paket COM birlikte bu dosyaları kontrol eder. Rağmen Bu çalışan, birçok sorun denetimi dağıtımı sırasında sunulan. İçin Örneğin, sürüm çakışmaları, emin ile sorun olmuş olabilir resimler gibi dosyaları aynı konuma yeniden dağıtılan veya ile bozuk olduğunu veya denetimi başarısız olmasına neden olabilir statik dosyalar silinmiş.

Web Microsoft ASP.NET 2.0 kaynakları sağlayarak bu sorunları giderir Geliştirici bu kaynaklar bütünleştirilmiş .resources olarak gömün. Bunlar erişmek için statik kaynakları yalnızca denetimin içinde bir yöntemini çağırabilir kodu.

Web kaynakları nasıl çalışır?

Web kaynakları adlı bir özel işleyici kullanır Bütünleştirilmiş kod kaynakları almak ve hizmet vermek için tasarlanmış olan WebResource.axd bunları Web tarayıcısına. AssemblyResourceLoaderiçin WebResource.axd işleyicisinin türüdür.

Ne zaman bir istek için istemci geldiği WebResource.axd, QueryString yöntemi Request nesnesi, Web kaynak tanımlayıcı işleyicisi arar. Web kaynak tanımlayıcısı değeri temel alınarak işleyici sonra bu kaynağı içeren derlemeyi yüklemeye çalışır. Bu, İşlem başarıyla tamamlandı, işleyici derleme özniteliği için sonra görünecektir ve kaynak akışı derlemeden yükleyin. Son olarak, işleyici alın Kaynak veri akışı ve istemci ile birlikte göndermek derleme öznitelikte belirttiğiniz içerik türü.

URL'si WebResource.axd aşağıdaki gibi görünür:
WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&t=632768953157700078
Bu URL'nin biçimi WebResource.axd?d= şeklindedirşifreli tanımlayıcı& t =zaman damgası değeri. , "d" istenen Web kaynağı anlamına gelir. "t" olduğu için zaman damgası bulunmuyorsa herhangi belirlemede yardımcı olabilir istenen derleme kaynak değişiklikleri.

Kod içine delving

Benim örnekte, ben tarafından tüketilen bir COM denetimi geliştirmiş Bu yeni özellik göstermek için bir ASP.NET Web uygulaması.

Web kaynağı için bir COM denetimi

Oluşturma ve katıştırma bir Web kaynağı için bir COM geliştirilmiştir Denetim (SimpleControl). Katıştırılmış aşağıdaki kaynaklar şunları içerir:
  • İki resim smallFail.gif adlı dosyaları ve smallSuccess.gif. Bu resim dosyaları rollover efektleri için kullanılır Denetim ve olan denetim kodu içinde tüketilen.
  • Help.htm adlı bir HTML dosyası. Bu dosya yok fazla metin içeren ve gösterimi için ise.
  • MyScript.js olarak adlandırılan bir JavaScript dosyası. Bu dosya Ayrıca değiştirme özelliğini gösterir bazı JavaScript kodunu içerir. aynı içinde başka bir katıştırılmış kaynak için bir başvuru almak için derleme.
  • MyStyleSheet.css adlı bir .css dosyası. Bu stili Sayfa, ASP.NET Web uygulamasından sonra tüketilir.
Bu makalede, benim için gerekli olan bölümleri tartışılacak Web kaynakları.
Web kaynakları katıştırma
İlk olarak, tüm statik dosyalar olduğundan emin olmak vardır Microsoft Visual Studio 2005 projesi olan Web Control Library eklendi Gömülü Kaynak. Bu kaynaklar katıştırmak için yapmanız gereken şey eklemek Bu dosyalar Visual Studio ve bu nedenle bu dosyaların özelliklerini değiştirin derleme eylemi ayarlamak Katıştırılmış Kaynak.

Bunu yaptıktan sonra aynı zamanda yapmak zorunda kendilerine bu kaynaklar AssemblyInfo.cs dosyasına Web kaynağı derleme özniteliği tarafından aşağıda gösterildiği gibi başvuru olduğundan emin.
[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 kaynağı derleme özniteliği aşağıdaki gibi üç parametre vardır:
  • Web kaynağı: derlemede katıştırılmış kaynak adı
  • ContentType: kaynağın MIME dosya türü
  • PerformSubstitution: belirleyen bir Boolean değeri olup olmadığını diğer Web kaynak URL'leri Bu kaynak olarak başvurulan ayrıştırılır ve tam yolu ile değiştirildi Kaynak
Web kaynakları getiriliyor
Web kaynağı almak için genellikle yöneten istemci tarafı komut dosyaları için kullanılan ClientScriptManager sınıfının bir yöntemi olan GetWebResourceUrl yöntemi kullandınız. Bu yöntem, sunucu tarafı kaynağı URL başvuru döndürür. bir derlemede katıştırılır. GetWebResourceUrl yöntemi aşağıdaki iki parametre kabul eder:
  • Türü: sunucu tarafı kaynak türü
  • Kaynak adı: sunucu tarafı kaynak adı
Bu yöntemi kullanmak için öncelikle, ClientScriptManager sınıfının bir örneğini oluşturun ve aşağıda gösterildiği gibi sınıf türünü almak zorunda.
ClientScriptManager cs = Page.ClientScript;
            Type rsType = this.GetType();

Bu sınıfın bir örneği varsa, daha sonra bu çağrı gerekir yöntem ve burada ben bir Köprü düğmesi oluşturma tıklatın, uygun parametreleri olarak gösterilen geçirmek ve gömülü bir HTML kaynak gösterecek şekilde NavigateURL yöntemini ayarlama.
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);

Ayrıca aynı kod yukarıda listesini ı Resim düğmesi oluşturduysanız ve başka bir katıştırılmış .gif görüntüden ImageUrl öznitelik değerini alma Kaynak.
Değiştirme özelliğini kullanma
"Web Resources gömme" bölümünde gösterildiği gibi PerformSubstitution özelliği Web kaynağı özniteliğinin Web kaynaklarını kullanan başka bir kullanışlı özelliği. Yukarıda. Bu özellik, aslında Web kaynakları gömülü elde sağlar Kaynak. Bu özellik etkinleştirilirse, Web kaynağı işleyicisi gömülü kaynak ayrıştırmak ve sözdizimi Değiştir Fiili kaynaklarla sunma önce Web kaynağı derleme özniteliği Sayfa.

Yukarıdaki kodda, Köprü denetimi, ChangeImageadlı bir istemci tarafı olay olduğunu fark edeceksiniz. Bu ChangeImage işlev, bir komut dosyasında bulunur. Kod aşağıda verilmiştir Bu komut dosyası için.
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 adlı bu komut dosyası da bir katıştırılmış kaynaktır aynı COM denetimi. Ve ben Web kaynağı yöntemi komut dosyası içinde başka bir katıştırılmış kaynağa başvurmak için kullanıyorum dikkat edin. dosya.

Ayrıca, bu JavaScript dosyası içinde kayıtlı olduğundan emin olmak için Sayfa ClientScriptManager sınıfının RegisterClientScriptInclude yöntemi aşağıda gösterildiği gibi kullanıyorum.
cs.RegisterClientScriptInclude("MyScript", cs.GetWebResourceUrl(rsType, "SimpleControl.MyScript.js"));

ASP.NET denetim tüketen

COM denetimi başarıyla oluşturduktan sonra gerek Bu denetim istemci ASP.NET projesindeki tüketir. Bunu yapmak için yalnızca gerekir Araç kutusundan ASP.NET denetimi ekleyin. Daha sonra Denetim için ekleyebilirsiniz Web form Tasarımcısı'nda.

Denetim Araç kutusu eklediğinizde, Denetim için kaydedilir ve aşağıdaki kodu baktığınızda eklenir HTML sözdizimi.
<cc1:MSButton ID="MSButton1" runat="server" strText="Problems?"></cc1:MSButton>
Benim COM denetimi, ben de ben olacak bir stil sayfası dosyası katıştırılmış ASP.NET Uygulamam kullanıyor. Bu stil sayfası erişmek için eklemeniz gerekir bağlantı HtmlControl gösterildii gibi sunucurunat özelliğini ayarlayın ve HTML sayfasını tıklatın.
<link rel="Stylesheet"  id="lnkStyle" runat="server"  />
Bundan sonra program aracılığıyla Href özniteliği aşağıda gösterildiği gibi Web kaynağı derleme özniteliği Page_Load olay işaret etmek için bu denetimi ayarlayabilirsiniz.
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);
     }

Benzer bir denetim kodu çalıştırdığınızda görürsünüz izleyen:
Bu resmi kapatBu resmi aç
 küçük başarısız
Ve fare üzerinde denetimi aşağıdaki gibi görünecektir:
Bu resmi kapatBu resmi aç
 küçük başarı
Bu bağlantıyı tıklattığınızda, bu yardım sayfasına götürür, COM denetim derleme dosyasına katıştırılır.

Sonuç

Yeni bir yararlı özelliği, ASP.NET 2.0 Web kaynakları var. Kullanabilirsiniz Bu özellik, akıllıca kullanırsanız, sizin için. Birçok önbelleğe alma teknikleri Web kaynakları performansını etkilemez emin olmak için kullanılır uygulama.

ASP.NET 2. 0'da, WebResource.axd dahili olarak kullanılır Microsoft gömülü kaynakları almak için .NET Framework. Örneğin, .NET framework içinde WebUIValidation.js komut dosyası almak için WebResource.axd kullanır. doğrulama denetimleri ve menü denetimleri için Menu.js komut dosyasını almak için kullanılan dosya.

Başvurular

Daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edin:
ClientScriptManager.GetWebResourceUrl yöntemi
http://msdn2.microsoft.com/en-us/library(d=robot) /system.web.ui.clientscriptmanager.getwebresourceurl.aspx

WebResourceAttribute sınıfı
http://msdn2.microsoft.com/en-us/library(d=robot) /system.web.ui.webresourceattribute.aspx

Bağlantılı katıştırılmış kaynakları
http://msdn2.microsoft.com/en-us/library/ht9h2dk8.aspx
Her zaman, istediğiniz konularda fikir göndermek çekinmeyin Gelecekteki sütunları veya Knowledge Base kullanarak ele Bunun için sor Form.

Özellikler

Makale numarası: 910442 - Last Review: 30 Nisan 2013 Salı - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbhowto kbasp kbmt KB910442 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 910442
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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