Práce s webových zdrojů v prostředí ASP.NET 2.0

Prohlášení o odmítnutí odpovědnosti pro už nepodporovaný obsah KB

Tento článek byl napsán pro produkty, ke kterým již Microsoft nadále nenabízí podporu. Článek je tedy poskytován „tak, jak je“ a nebude už nadále aktualizován.

Sloupec hlasové podpory technologie ASP.NET

Práce s webových zdrojů v prostředí ASP.NET 2.0

Chcete-li upravit tento sloupec vašim potřebám, chceme pozvat sdělit své nápady o tématech, které zajímají je a problémy, které chcete zobrazit adresovány v budoucnu články znalostní báze a podpora hlasové sloupce. Můžete odeslat nápady a názor pomocí formuláře Požádat pro něj . Je také odkaz na formulář v dolní části tohoto sloupce.

Úvod

Ahoj! Mé jméno je Praveen Yerneni a jsem technické zájemce práce s ASP.NET skupinu podpory společnosti Microsoft. Ve sloupci tento měsíc kliknu diskutovat o webové prostředky a způsob jejich implementace ve vaší aplikaci.

Pokud jste vývojář, který široce spolupracuje ovládací prvky modelu COM, mohou být užitečné v tomto článku v adresování některé klíčové problémy, které mohou čelit při vývoji ovládacích prvků. Dříve v Microsoft ASP.NET 1.1, pokud jste chtěli zavést statické soubory, například soubory HTML, CSS soubory, obrazové soubory a soubory skriptů pomocí ovládacího prvku modelu COM, bylo vytvoření instalátoru a sváže tyto soubory a ovládací prvek modelu COM. Ačkoli toto fungovalo, je předložen mnoho problémů při nasazení ovládacího prvku. Například jste mohli dříve problémy se konflikty verzí, a ujistěte se, že soubory, například obrázky byly nasazeny do stejného umístění nebo poškozené nebo odstraněné statické soubory, které by mohly způsobit selhání ovládacího prvku.

Webové prostředky v aplikaci Microsoft ASP.NET 2.0 řeší tyto problémy tím, že vývojář vložit tyto prostředky v sestavení jako Resources. Pro přístup k tyto statické prostředky, můžete pouze volat metodu v kódu ovládacího prvku.

Jak fungují webové prostředky

Webové prostředky spoléhat na speciální obslužná rutina s názvem WebResource.axd, který je určen k načtení sestavení prostředků a sloužit jim do webového prohlížeče. Typ obslužná rutina WebResource.axd je AssemblyResourceLoader.

Pokud přijde žádost od klienta WebResource.axd, obslužné rutiny hledá identifikátor webového prostředku v metodě QueryString objektu požadavku . Založeno na hodnotě identifikátor webového prostředku, obslužná rutina se poté pokusí načíst sestavení, která obsahuje tento zdroj. Pokud je tato operace úspěšná, obslužná rutina potom vyhledejte atribut sestavení a načtení proudu prostředek ze sestavení. Nakonec bude obslužná rutina vyjmout data z datového proudu zdroje a odeslat klientovi spolu s typ obsahu zadaný atribut sestavení.

Adresa URL WebResource.axd vypadá následovně:
WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&t=632768953157700078
Formát této adresy URL je WebResource.axd?d=zašifrovaný identifikátor& t =Hodnota časového razítka. "d" je zkratka pro požadovaný webový prostředek. "t" je časové razítko pro sestavení požadovaného, což může pomoci při určování, zda byly všechny změny zdroje.

Seznamovat kód

V tomto příkladu I vyvinuli ovládací prvek modelu COM, který je spotřebován ve webové aplikaci technologie ASP.NET k prokázání této nové funkce.

Ovládací prvek modelu COM pro webový prostředek

Pro vytvoření a vložení webového prostředku, I vyvinuli ovládací prvek modelu COM (SimpleControl). Má následující vložené prostředky.
  • Dva obrazové soubory, které jsou pojmenovány smallFail.gif a smallSuccess.gif. Tyto obrazové soubory se používají pro efekty při přechodu myší v ovládacím prvku a jsou spotřebovávány v kódu ovládacího prvku.
  • Soubor HTML s názvem Help.htm. Tento soubor neobsahuje mnoho textu a je pouze pro demonstrační.
  • Jeden soubor JavaScriptu s názvem MyScript.js. Tento soubor obsahuje některé kód jazyka JavaScript, který také ukazuje nahrazení funkce chcete-li získat odkaz na jiný integrovaný prostředek v rámci stejného sestavení.
  • Jeden CSS soubor s názvem MyStyleSheet.css. Tuto šablonu stylů je potom používán přímo z aplikace technologie ASP.NET.
V tomto článku se podíváme na ty části, které jsou požadovány pro webové prostředky.
Vložení webové prostředky
Nejprve je nutné Ujistěte se, že statické soubory, které jsou přidány do projektu knihovny webových ovládacích prvků v aplikaci Microsoft Visual Studio 2005 jsou vložené prostředky. Chcete-li vložit tyto prostředky, vše, co musíte udělat je přidání těchto souborů do sady Visual Studio a potom změnit vlastnosti těchto souborů tak, aby akce sestavení na Integrovaný prostředek.

Poté co jste toto provedli, máte také ujistěte se, že jste byly tyto prostředky odkazuje atribut sestavení webového prostředku v souboru AssemblyInfo.cs, jak je ukázáno níže.
[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)]


Atribut sestavení webového prostředku má tři parametry takto:
  • Webové zdroje: název prostředku, který je vložen v sestavení
  • ContentType: The MIME Typ souboru pro zdroj
  • PerformSubstitution: logická hodnota, která určuje, zda jsou ostatní adresy URL webových zdrojů, které jsou uvedeny v tomto prostředku analyzován a nahrazena úplnou cestu k prostředku
Načítání webových prostředků
Pro získání webového prostředku, lze použít metodu GetWebResourceUrl metodu ClientScriptManager třídy, která se obvykle používá pro správu skriptů na straně klienta je. Tato metoda vrátí adresu URL odkaz na straně serveru prostředku, který je vložen v sestavení. Metoda GetWebResourceUrl přijímá následující dva parametry:
  • Typ: typ prostředku straně serveru
  • Název zdroje: název prostředku straně serveru
Chcete-li použít tuto metodu, máte k vytvoření instance třídy ClientScriptManager a získat typ třídy, jak je ukázáno níže.
ClientScriptManager cs = Page.ClientScript;            Type rsType = this.GetType();


Pokud je instance této třídy, pak musíte volat tuto metodu a předat příslušné parametry podle následujícího obrázku, kde lze vytvořit hypertextový odkaz tlačítka a nastavit NavigateURL metody přejděte na integrovaný prostředek 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);


Také mají stejný kód výše, v vytvořený Obrázek tlačítka a ImageUrl atribut je jeho hodnota od jiný prostředek vložený GIF obrázek.
Pomocí funkce nahrazení
Další užitečnou funkcí pomocí webových prostředků je PerformSubstitution vlastnost atributu webového prostředku , jak je uvedeno ve výše uvedené části "Vložení the Web Resources". Tato funkce umožňuje skutečně získat webových prostředků uvnitř jiného vložený prostředek. Pokud je tato vlastnost povolena, bude obslužné rutiny WebResource analyzovat integrovaný prostředek a nahradit skutečné zdroje před obsluhou stránky syntaxe pro atribut sestavení webového prostředku .

V kódu výše zjistíte, že ovládací prvek hypertextový odkaz obsahuje klientskou událost, která se nazývá ChangeImage. Tato funkce ChangeImage je umístěn v souboru skriptu. Následuje kód pro tento skript.
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;
}

Tento soubor skriptu s názvem MyScript.js je také integrovaný prostředek ve stejné ovládací prvek modelu COM. A Všimněte si, že používám metodu zobrazení Chcete-li odkazovat na jiný prostředek vložený v souboru skriptu.

Také a ujistěte se, že tento soubor jazyka JavaScript je registrován na stránce, používám RegisterClientScriptInclude metoda ClientScriptManager třídy, jak je ukázáno níže.
cs.RegisterClientScriptInclude("MyScript", cs.GetWebResourceUrl(rsType, "SimpleControl.MyScript.js"));

Využívající ovládací prvek v technologii ASP.NET

Po vytvoření ovládacího prvku modelu COM úspěšně, je třeba spotřebovat tento ovládací prvek v projektu ASP.NET klienta. Chcete-li to provést, musíte se přidat ovládací prvek na panelu nástrojů v technologii ASP.NET. Potom můžete přidat ovládací prvek na libovolný webový formulář v návrháři.

Přidáte-li do panelu nástrojů ovládací prvek, ovládací prvek je registrován pro vás a při pohledu na syntaxi jazyka HTML je přidán následující kód.
<cc1:MSButton ID="MSButton1" runat="server" strText="Problems?"></cc1:MSButton>
V mé ovládací prvek modelu COM lze také s vloženými soubor stylů, které lze používat v mé aplikaci ASP.NET. Chcete-li tuto šablonu stylů, je nutné přidat odkaz HtmlControl na stránce HTML a nastavte vlastnost runat na server , jak je ukázáno níže.
<link rel="Stylesheet"  id="lnkStyle" runat="server"  />
Poté můžete programově nastavit atribut Href tohoto ovládacího prvku, jak je uvedeno níže v bodě atribut sestavení webového prostředku v události 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);
}


Při spuštění kódu, zobrazí se ovládací prvek, který vypadá takto:
 small fail
A na myši nad ovládací prvek bude vypadat takto:
 small success
Po kliknutí na tento odkaz, bude vám trvat na stránce nápovědy, který je vložen do souboru sestavení ovládacího prvku modelu COM.

Závěr

Webové prostředky je užitečné nové funkce v prostředí ASP.NET 2.0. S výhodou můžete použít tuto funkci, pokud použijete uvážlivě. Byly použity mnoho techniky ukládání do mezipaměti a ujistěte se, že webové prostředky nemají vliv na výkon aplikace.

V technologii ASP.NET 2.0 WebResource.axd používá interně rozhraní.NET Framework společnosti Microsoft získat vložené prostředky. Například rozhraní.NET Framework používá WebResource.axd načíst soubor skriptu WebUIValidation.js, který se používá pro ovládací prvky ověřování a načíst soubor skriptu Menu.js nabídky ovládacích prvků.

Odkazy

Další informace naleznete na následujících webech společnosti Microsoft:
Jako vždy, atmosféru volného odeslat nápady na témata chcete určeno v budoucnosti sloupce nebo pomocí znalostní báze Knowledge Base
Dotaz pro jeho formuláře.
Vlastnosti

ID článku: 910442 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor