ASP.NET MVC 4 – filtr vlastních akcí
Autor: Web Camp Team
Stáhnout Web Camp Training Kit
ASP.NET MVC poskytuje filtry akcí pro provádění logiky filtrování před nebo po volání metody akce. Filtry akcí jsou vlastní atributy, které poskytují deklarativní prostředky pro přidání chování akce před akcí a následné akce kontroleru.
V tomto praktickém cvičení vytvoříte do řešení MvcMusicStore atribut vlastního filtru akcí, který zachytí požadavky kontroleru a zapíše aktivitu lokality do databázové tabulky. Filtr protokolování můžete přidat injektáží do jakéhokoli kontroleru nebo akce. Nakonec uvidíte zobrazení protokolu, které zobrazuje seznam návštěvníků.
V tomto praktickém cvičení se předpokládá, že máte základní znalosti ASP.NET MVC. Pokud jste předtím nepoužívali ASP.NET MVC, doporučujeme vám projít si praktické cvičení ASP.NET MVC 4.
Poznámka:
Všechny ukázkové kódy a fragmenty kódu jsou součástí sady Web Camp Training Kit, která je k dispozici na stránkách Microsoft-Web/WebCampTrainingKit Release. Projekt specifický pro toto cvičení je k dispozici v ASP.NET vlastních filtrech akcí MVC 4.
Cíle
V tomto praktickém cvičení se naučíte:
- Vytvoření atributu filtru vlastních akcí pro rozšíření možností filtrování
- Použití atributu vlastního filtru injektáží na konkrétní úroveň
- Globální registrace filtrů vlastních akcí
Požadavky
K dokončení tohoto cvičení musíte mít následující položky:
- Microsoft Visual Studio Express 2012 pro web nebo superior (pokyny k instalaci najdete v dodatku A ).
Nastavení
Instalace fragmentů kódu
Pro usnadnění práce je většina kódu, který budete spravovat v tomto cvičení, k dispozici jako fragmenty kódu sady Visual Studio. Chcete-li nainstalovat fragmenty kódu, spusťte soubor .\Source\Setup\CodeSnippets.vsi .
Pokud nemáte zkušenosti s fragmenty kódu sady Visual Studio Code a chcete se naučit, jak je používat, můžete odkazovat na dodatek z tohoto dokumentu "Příloha C: Použití fragmentů kódu".
Cvičení
Toto praktické cvičení se skládá z následujících cvičení:
Odhadovaná doba dokončení tohoto cvičení: 30 minut.
Poznámka:
Každé cvičení je doprovázeno koncovou složkou obsahující výsledné řešení, které byste měli získat po dokončení cvičení. Toto řešení můžete použít jako vodítko, pokud potřebujete další pomoc s prací ve cvičeních.
Cvičení 1: Akce protokolování
V tomto cvičení se dozvíte, jak vytvořit vlastní filtr protokolu akcí pomocí ASP.NET Zprostředkovatelů filtru MVC 4. Pro tento účel použijete filtr protokolování na web MusicStore, který bude zaznamenávat všechny aktivity ve vybraných řadičích.
Filtr rozšíří ActionFilterAttributeClass a přepíše Metodu OnActionExecuting , aby zachytával jednotlivé požadavky a pak provedl akce protokolování. Kontextové informace o požadavcích HTTP, provádění metod, výsledky a parametry budou poskytovány ASP.NET MVC ActionExecutingContext třídy .
Poznámka:
ASP.NET MVC 4 má také výchozí poskytovatele filtrů, které můžete použít bez vytvoření vlastního filtru. ASP.NET MVC 4 poskytuje následující typy filtrů:
- Filtr autorizace , který provádí bezpečnostní rozhodnutí o tom, jestli se má provést metoda akce, jako je například ověřování nebo ověřování vlastností požadavku.
- Filtr akcí , který zabalí provádění metody akce. Tento filtr může provádět další zpracování, jako je poskytnutí dodatečných dat metodě akce, kontrola návratové hodnoty nebo zrušení provádění metody akce.
- Filtr výsledků , který zabalí provádění ActionResult objektu. Tento filtr může provést další zpracování výsledku, například úpravu odpovědi HTTP.
- Filtr výjimek , který se spustí, pokud je v metodě akce vyvolán neošetřená výjimka, počínaje autorizačními filtry a končící spuštěním výsledku. Filtry výjimek je možné použít pro úlohy, jako je protokolování nebo zobrazení chybové stránky.
Další informace o poskytovateli filtrů naleznete na tomto odkazu MSDN: (https://msdn.microsoft.com/library/dd410209.aspx) .
Informace o funkci protokolování aplikace MVC Music Store
Toto řešení služby Music Store obsahuje novou tabulku datového modelu pro protokolování webu, ActionLog s následujícími poli: Název kontroleru, který přijal požadavek, označovanou akci, IP adresu klienta a časové razítko.
Datový model – tabulka ActionLog
Řešení poskytuje zobrazení ASP.NET MVC pro protokol akcí, který najdete v MvcMusicStores/Views/ActionLog:
Zobrazení protokolu akcí
S touto strukturou se veškerá práce zaměří na přerušení žádosti kontroleru a provádění protokolování pomocí vlastního filtrování.
Úkol 1 – Vytvoření vlastního filtru pro zachycení požadavku kontroleru
V této úloze vytvoříte vlastní třídu atributů filtru, která bude obsahovat logiku protokolování. Pro tento účel rozšíříte ASP.NET MVC ActionFilterAttribute Třída a implementujete rozhraní IActionFilter.
Poznámka:
ActionFilterAttribute je základní třída pro všechny filtry atributů. Poskytuje následující metody pro spuštění konkrétní logiky po a před provedením akce kontroleru:
- OnActionExecuting(ActionExecutingContext filterContext): Těsně před zavoláním metody akce.
- OnActionExecuted(ActionExecutedContext filterContext): Po zavolání metody akce a před provedením výsledku (před vykreslením zobrazení).
- OnResultExecuting(ResultExecutingContext filterContext): Těsně před provedením výsledku (před vykreslením zobrazení).
- OnResultExecuted(ResultExecutedContext filterContext): Po provedení výsledku (po vykreslení zobrazení).
Přepsáním některé z těchto metod do odvozené třídy můžete spustit vlastní kód filtrování.
Otevřete řešení Begin umístěné ve složce \Source\Ex01-LoggingActions\Begin.
Než budete pokračovat, budete si muset stáhnout některé chybějící balíčky NuGet. Uděláte to tak, že kliknete na nabídku Projekt a vyberete Spravovat balíčky NuGet.
V dialogovém okně Spravovat balíčky NuGet klikněte na Obnovit , aby se stáhly chybějící balíčky.
Nakonec řešení sestavíte kliknutím na Sestavit | řešení.
Poznámka:
Jednou z výhod použití NuGetu je, že nemusíte dodávat všechny knihovny v projektu, což snižuje velikost projektu. Pomocí Nástrojů NuGet Power Tools zadáte verze balíčků v souboru Packages.config, budete moci stáhnout všechny požadované knihovny při prvním spuštění projektu. Proto budete muset tyto kroky spustit po otevření existujícího řešení z tohoto testovacího prostředí.
Další informace najdete v tomto článku: https://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages.
Do složky Filters přidejte novou třídu jazyka C# a pojmenujte ji CustomActionFilter.cs. Tato složka uloží všechny vlastní filtry.
Otevřete CustomActionFilter.cs a přidejte odkaz na obory názvů System.Web.Mvc a MvcMusicStore.Models :
(Fragment kódu – ASP.NET vlastní filtry akcí MVC 4 – Ex1-CustomActionFilterNamespaces)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcMusicStore.Models;
Zdědí CustomActionFilter třídy z ActionFilterAttribute a pak customActionFilter třída implementuje IActionFilter rozhraní.
//... namespace MvcMusicStore.Filters { public class CustomActionFilter : ActionFilterAttribute, IActionFilter { //... } }
Nastavit CustomActionFilter třídy přepsat metodu OnActionExecuting a přidat potřebnou logiku pro protokolování spuštění filtru. Uděláte to tak, že do třídy CustomActionFilter přidáte následující zvýrazněný kód.
(Fragment kódu – ASP.NET vlastní filtry akcí MVC 4 – Ex1-LoggingActions)
public class CustomActionFilter : ActionFilterAttribute, IActionFilter { void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { // TODO: Add your action filter's tasks here // Log Action Filter call using (MusicStoreEntities storeDb = new MusicStoreEntities()) { ActionLog log = new ActionLog() { Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, Action = string.Concat(filterContext.ActionDescriptor.ActionName, " (Logged By: Custom Action Filter)"), IP = filterContext.HttpContext.Request.UserHostAddress, DateTime = filterContext.HttpContext.Timestamp }; storeDb.ActionLogs.Add(log); storeDb.SaveChanges(); OnActionExecuting(filterContext); } } }
Poznámka:
Metoda OnActionExecuting používá Entity Framework k přidání nového registru ActionLog. Vytvoří a vyplní novou instanci entity kontextovými informacemi z filterContext.
Další informace o třídě ControllerContext najdete na webu msdn.
Úkol 2 – vložení zachytávání kódu do třídy kontroleru úložiště
V této úloze přidáte vlastní filtr vložením do všech tříd kontroleru a akcí kontroleru, které budou protokolovány. Pro účely tohoto cvičení bude třída Store Controller obsahovat protokol.
Metoda OnActionExecuting z ActionLogFilterAttribute vlastní filtr se spustí při vyvolání vloženého elementu.
Je také možné zachytit konkrétní metodu kontroleru.
Otevřete StoreController v MvcMusicStore\Controllers a přidejte odkaz na obor názvů Filtrů:
using System.Linq; using System.Web.Mvc; using MvcMusicStore.Models; using MvcMusicStore.Filters;
Vložte vlastní filtr CustomActionFilter do Třídy StoreController přidáním atributu [CustomActionFilter] před deklaraci třídy.
... [CustomActionFilter] public class StoreController : Controller { ... }
Poznámka:
Při vložení filtru do třídy kontroleru se také vloží všechny jeho akce. Pokud chcete použít filtr pouze pro sadu akcí, musíte do každého z nich vložit [CustomActionFilter] :
[CustomActionFilter] public ActionResult Index() { ... } [CustomActionFilter] public ActionResult Browse(string genre) { ... }
Úkol 3 – spuštění aplikace
V této úloze otestujete, že filtr protokolování funguje. Spustíte aplikaci a navštívíte obchod a pak zkontrolujete protokolované aktivity.
Stisknutím klávesy F5 spusťte aplikaci.
Přejděte na /ActionLog a zobrazte počáteční stav zobrazení protokolu:
Stav sledování protokolů před aktivitou stránky
Poznámka:
Ve výchozím nastavení se vždy zobrazí jedna položka, která se vygeneruje při načítání existujících žánrů nabídky.
Pro zjednodušení provádíme čištění tabulky ActionLog při každém spuštění aplikace, aby se zobrazily pouze protokoly ověření jednotlivých konkrétních úloh.
Možná budete muset z metody Session_Start (ve třídě Global.asax) odebrat následující kód, aby se uložil historický protokol pro všechny akce provedené v rámci kontroleru úložiště.
// Clean up Logs Table MusicStoreEntities storeDB = new MusicStoreEntities(); foreach (var log in storeDB.ActionLogs.ToList()) { storeDB.ActionLogs.Remove(log); } storeDB.SaveChanges();
V nabídce klikněte na některý z žánrů a proveďte některé akce, jako je procházení dostupného alba.
Přejděte na /ActionLog a pokud je protokol prázdný, aktualizujte stránku stisknutím klávesy F5 . Zkontrolujte, jestli byly vaše návštěvy sledovány:
Protokol akcí s protokolovanou aktivitou
Cvičení 2: Správa více filtrů akcí
V tomto cvičení přidáte druhý filtr vlastních akcí do třídy StoreController a definujete konkrétní pořadí, ve kterém budou provedeny oba filtry. Pak kód aktualizujete tak, aby se filtr zaregistroval globálně.
Při definování pořadí provádění filtrů existují různé možnosti. Například vlastnost Order (Objednávka) a obor Filters (Filtry):
Můžete definovat obor pro každý filtr, například můžete nastavit obor všech filtrů akcí, které se mají spustit v rámci oboru kontroleru, a všechny autorizační filtry, které se mají spustit v globálním oboru. Obory mají definované pořadí provádění.
Kromě toho má každý filtr akcí vlastnost Order, která se používá k určení pořadí provádění v oboru filtru.
Další informace o pořadí provádění filtry vlastních akcí najdete v tomto článku MSDN: (https://msdn.microsoft.com/library/dd381609(v=vs.98).aspx).
Úkol 1: Vytvoření nového vlastního filtru akcí
V této úloze vytvoříte nový vlastní filtr akcí, který se vloží do třídy StoreController a naučíte se spravovat pořadí provádění filtrů.
Otevřete řešení Begin umístěné ve složce \Source\Ex02-ManagingMultipleActionFilters\Begin. Jinak můžete pokračovat v používání koncového řešení získaného dokončením předchozího cvičení.
Pokud jste otevřeli poskytnuté řešení Begin , budete si muset před pokračováním stáhnout některé chybějící balíčky NuGet. Uděláte to tak, že kliknete na nabídku Projekt a vyberete Spravovat balíčky NuGet.
V dialogovém okně Spravovat balíčky NuGet klikněte na Obnovit , aby se stáhly chybějící balíčky.
Nakonec řešení sestavíte kliknutím na Sestavit | řešení.
Poznámka:
Jednou z výhod použití NuGetu je, že nemusíte dodávat všechny knihovny v projektu, což snižuje velikost projektu. Pomocí Nástrojů NuGet Power Tools zadáte verze balíčků v souboru Packages.config, budete moci stáhnout všechny požadované knihovny při prvním spuštění projektu. Proto budete muset tyto kroky spustit po otevření existujícího řešení z tohoto testovacího prostředí.
Další informace najdete v tomto článku: https://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages.
Přidejte do složky Filters novou třídu jazyka C# a pojmenujte ji MyNewCustomActionFilter.cs
Otevřete MyNewCustomActionFilter.cs a přidejte odkaz na obor názvů System.Web.Mvc a MvcMusicStore.Models :
(Fragment kódu – ASP.NET vlastní filtry akcí MVC 4 – Ex2-MyNewCustomActionFilterNamespaces)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcMusicStore.Models;
Nahraďte výchozí deklaraci třídy následujícím kódem.
(Fragment kódu – ASP.NET vlastní filtry akcí MVC 4 – Ex2-MyNewCustomActionFilterClass)
public class MyNewCustomActionFilter : ActionFilterAttribute, IActionFilter { void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { // TODO: Add your acction filter's tasks here // Log Action Filter Call MusicStoreEntities storeDB = new MusicStoreEntities(); ActionLog log = new ActionLog() { Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, Action = filterContext.ActionDescriptor.ActionName + " (Logged By: MyNewCustomActionFilter)", IP = filterContext.HttpContext.Request.UserHostAddress, DateTime = filterContext.HttpContext.Timestamp }; storeDB.ActionLogs.Add(log); storeDB.SaveChanges(); this.OnActionExecuting(filterContext); } }
Poznámka:
Tento filtr vlastních akcí je skoro stejný jako ten, který jste vytvořili v předchozím cvičení. Hlavním rozdílem je, že má aktualizovaný atribut "Logged By" s názvem této nové třídy, aby identifikoval, který filtr zaregistroval protokol.
Úkol 2: Vložení nového průsečíku kódu do třídy StoreController
V této úloze přidáte do třídy StoreController nový vlastní filtr a spustíte řešení, abyste ověřili, jak oba filtry spolupracují.
Otevřete třídu StoreController umístěnou v MvcMusicStore\Controllers a vložte nový vlastní filtr MyNewCustomActionFilter do třídy StoreController, jak je znázorněno v následujícím kódu.
[MyNewCustomActionFilter] [CustomActionFilter] public class StoreController : Controller { ... }
Teď spusťte aplikaci, abyste viděli, jak tyto dva filtry vlastních akcí fungují. Uděláte to tak, že stisknete klávesu F5 a počkáte, až se aplikace spustí.
Přejděte na /ActionLog a zobrazte počáteční stav zobrazení protokolu.
Stav sledování protokolů před aktivitou stránky
V nabídce klikněte na některý z žánrů a proveďte některé akce, jako je procházení dostupného alba.
Zkontrolujte, že tentokrát; Vaše návštěvy byly sledovány dvakrát: jednou pro každý z vlastních filtrů akcí, které jste přidali do třídy StorageController .
Protokol akcí s protokolovanou aktivitou
Zavřete prohlížeč.
Úkol 3: Správa řazení filtrů
V této úloze se dozvíte, jak spravovat pořadí provádění filtrů pomocí vlastnosti Order.
Otevřete třídu StoreController umístěnou v MvcMusicStore\Controllers a zadejte Order vlastnost v obou filtrech, jak je znázorněno níže.
[MyNewCustomActionFilter(Order = 2)] [CustomActionFilter(Order = 1)] public class StoreController : Controller { ... }
Teď ověřte, jak se filtry spouštějí v závislosti na hodnotě vlastnosti Order. Zjistíte, že filtr s nejmenší hodnotou Order (CustomActionFilter) je první, který se spustí. Stiskněte klávesu F5 a počkejte, až se aplikace spustí.
Přejděte na /ActionLog a zobrazte počáteční stav zobrazení protokolu.
Stav sledování protokolů před aktivitou stránky
V nabídce klikněte na některý z žánrů a proveďte některé akce, jako je procházení dostupného alba.
Zkontrolujte, že tentokrát byly vaše návštěvy sledovány podle hodnoty Objednávky filtrů: Protokoly CustomActionFilter jako první.
Protokol akcí s protokolovanou aktivitou
Teď aktualizujete hodnotu objednávky filtrů a ověříte, jak se pořadí protokolování mění. Ve třídě StoreController aktualizujte hodnotu Order filters, jak je znázorněno níže.
[MyNewCustomActionFilter(Order = 1)] [CustomActionFilter(Order = 2)] public class StoreController : Controller { ... }
Spusťte aplikaci znovu stisknutím klávesy F5.
V nabídce klikněte na některý z žánrů a proveďte některé akce, jako je procházení dostupného alba.
Zkontrolujte, že tentokrát se nejprve zobrazí protokoly vytvořené filtrem MyNewCustomActionFilter .
Protokol akcí s protokolovanou aktivitou
Úkol 4: Globální registrace filtrů
V této úloze aktualizujete řešení tak, aby registroval nový filtr (MyNewCustomActionFilter) jako globální filtr. Tímto způsobem se aktivují všechny akce prováděné v aplikaci, nejen v úložišti StoreController, stejně jako v předchozí úloze.
Ve třídě StoreController odeberte atribut [MyNewCustomActionFilter] a vlastnost order z [CustomActionFilter]. Mělo by to vypadat následovně:
[CustomActionFilter] public class StoreController : Controller { ... }
Otevřete soubor Global.asax a vyhledejte metodu Application_Start . Všimněte si, že pokaždé, když aplikace spustí, registruje globální filtry voláním RegisterGlobalFilters metoda ve třídě FilterConfig .
Registrace globálních filtrů v Global.asax
Otevřete soubor FilterConfig.cs ve složce App_Start .
Přidání odkazu na použití System.Web.Mvc; pomocí MvcMusicStore.Filters; Namespace.
using System.Web.Mvc; using MvcMusicStore.Filters;
Aktualizujte metodu RegisterGlobalFilters přidáním vlastního filtru. Uděláte to tak, že přidáte zvýrazněný kód:
public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); filters.Add(new MyNewCustomActionFilter()); }
Spusťte aplikaci stisknutím klávesy F5.
V nabídce klikněte na některý z žánrů a proveďte některé akce, jako je procházení dostupného alba.
Zkontrolujte, jestli se teď [MyNewCustomActionFilter] vkládala do ovládacích prvků HomeController a ActionLogController.
Protokol akcí se zaprotokolovanou globální aktivitou
Poznámka:
Kromě toho můžete tuto aplikaci nasadit na weby Windows Azure podle dodatku B: Publikování aplikace ASP.NET MVC 4 pomocí nasazení webu.
Shrnutí
Dokončením tohoto praktického cvičení jste se naučili rozšířit filtr akcí pro provádění vlastních akcí. Dozvěděli jste se také, jak do kontrolerů stránek vložit jakýkoli filtr. Byly použity následující koncepty:
- Vytvoření filtrů vlastních akcí pomocí třídy ASP.NET MVC ActionFilterAttribute
- Jak vkládat filtry do kontrolerů MVC ASP.NET
- Správa řazení filtrů pomocí vlastnosti Order
- Jak registrovat filtry globálně
Příloha A: Instalace sady Visual Studio Express 2012 pro web
Microsoft Visual Studio Express 2012 pro web nebo jinou verzi Expressu můžete nainstalovat pomocí instalačního programu Webová platforma Microsoft. Následující pokyny vás provedou postupem potřebným k instalaci sady Visual Studio Express 2012 pro web pomocí instalačního programu Webová platforma Microsoft.
Přejděte na /iis/extensions/introduction-to-iis-express/iis-express-overview?linkid=9810169. Pokud už máte nainstalovaný instalační program webové platformy, můžete ho také otevřít a vyhledat produkt Visual Studio Express 2012 pro web se sadou Windows Azure SDK.
Klikněte na Nainstalovat. Pokud nemáte instalační program webové platformy, budete přesměrováni na jeho první stažení a instalaci.
Po otevření instalačního programu webové platformy spusťte instalaci kliknutím na nainstalovat .
Instalace sady Visual Studio Express
Přečtěte si všechny licence a podmínky produktů a pokračujte kliknutím na Přijmout .
Přijetí licenčních podmínek
Počkejte, až se proces stahování a instalace dokončí.
Průběh instalace
Po dokončení instalace klepněte na tlačítko Dokončit.
Instalace byla dokončena.
Kliknutím na tlačítko Ukončit zavřete instalační program webové platformy.
Pokud chcete otevřít Visual Studio Express pro web, přejděte na úvodní obrazovku a začněte psát "VS Express" a potom klikněte na dlaždici VS Express pro web.
Dlaždice VS Express pro web
Příloha B: Publikování aplikace ASP.NET MVC 4 pomocí nasazení webu
V tomto dodatku se dozvíte, jak vytvořit nový web z portálu pro správu Windows Azure a publikovat aplikaci, kterou jste získali v testovacím prostředí, a využít tak funkci publikování nasazení webu, kterou poskytuje Windows Azure.
Úkol 1 – Vytvoření nového webu z webu Windows Azure Portal
Přejděte na portál pro správu Windows Azure a přihlaste se pomocí přihlašovacích údajů Microsoftu přidružených k vašemu předplatnému.
Poznámka:
S Windows Azure můžete zdarma hostovat 10 ASP.NET weby a pak škálovat s rostoucím provozem. Tady se můžete zaregistrovat.
Přihlášení k portálu pro správu Windows Azure
Na panelu příkazů klikněte na Nový .
Vytvoření nového webu
Klikněte na výpočetní | web. Pak vyberte možnost Rychlé vytvoření . Zadejte dostupnou adresu URL nového webu a klikněte na vytvořit web.
Poznámka:
Web Windows Azure je hostitelem webové aplikace běžící v cloudu, kterou můžete řídit a spravovat. Možnost Rychlé vytvoření umožňuje nasadit dokončenou webovou aplikaci na web Windows Azure mimo portál. Nezahrnuje kroky pro nastavení databáze.
Vytvoření nového webu pomocí rychlého vytvoření
Počkejte na vytvoření nového webu .
Po vytvoření webu klikněte na odkaz pod sloupcem ADRESY URL . Zkontrolujte, jestli nový web funguje.
Přechod na nový web
Spuštěný web
Vraťte se na portál a kliknutím na název webu ve sloupci Název zobrazte stránky pro správu.
Otevření stránek pro správu webu
Na stránce Řídicí panel v části Rychlý přehled klikněte na odkaz Stáhnout profil publikování.
Poznámka:
Profil publikování obsahuje všechny informace potřebné k publikování webové aplikace na web Windows Azure pro každou povolenou metodu publikování. Profil publikování obsahuje adresy URL, přihlašovací údaje uživatele a databázové řetězce potřebné pro připojení ke každému koncovému bodu, pro který je povolená metoda publikování. Microsoft WebMatrix 2, Microsoft Visual Studio Express pro web a Microsoft Visual Studio 2012 podporují profily publikování pro čtení pro automatizaci konfigurace těchto programů pro publikování webových aplikací na weby Windows Azure.
Stažení profilu publikování webu
Stáhněte soubor profilu publikování do známého umístění. Dále v tomto cvičení se dozvíte, jak pomocí tohoto souboru publikovat webovou aplikaci na weby Windows Azure ze sady Visual Studio.
Uložení souboru profilu publikování
Úloha 2 – Konfigurace databázového serveru
Pokud vaše aplikace využívá databáze SQL Serveru, budete muset vytvořit server služby SQL Database. Pokud chcete nasadit jednoduchou aplikaci, která nepoužívá SQL Server, můžete tuto úlohu přeskočit.
K uložení aplikační databáze budete potřebovat server služby SQL Database. Servery SLUŽBY SQL Database můžete zobrazit z vašeho předplatného na portálu pro správu Windows Azure na řídicím panelu serveru sql Databases | Servers | . Pokud server nemáte vytvořený, můžete ho vytvořit pomocí tlačítka Přidat na panelu příkazů. Poznamenejte si název serveru a adresu URL, přihlašovací jméno a heslo správce, protože je budete používat v dalších úlohách. Databázi ještě nevytvořte, protože bude vytvořena v pozdější fázi.
Řídicí panel serveru SLUŽBY SQL Database
V další úloze otestujete připojení k databázi ze sady Visual Studio, z tohoto důvodu musíte do seznamu povolených IP adres serveru zahrnout svou místní IP adresu. Uděláte to tak, že kliknete na Konfigurovat, vyberete IP adresu z aktuální IP adresy klienta a vložíte ji do textových polí Počáteční IP adresa a Koncová IP adresa a kliknete na
tlačítko.
Přidání IP adresy klienta
Po přidání IP adresy klienta do seznamu povolených IP adres klikněte na Uložit a potvrďte změny.
Potvrdit změny
Úloha 3 – Publikování aplikace ASP.NET MVC 4 pomocí nasazení webu
Vraťte se k řešení ASP.NET MVC 4. V Průzkumník řešení klikněte pravým tlačítkem myši na projekt webu a vyberte Publikovat.
Publikování webu
Importujte profil publikování, který jste uložili v prvním úkolu.
Import profilu publikování
Klikněte na Ověřit připojení. Po dokončení ověření klikněte na tlačítko Další.
Poznámka:
Ověření se dokončí, jakmile se vedle tlačítka Ověřit připojení zobrazí zelené zaškrtnutí.
Ověřování připojení
Na stránce Nastavení klikněte v části Databáze na tlačítko vedle textového pole připojení k databázi (tj. DefaultConnection).
Konfigurace nasazení webu
Připojení k databázi nakonfigurujte následujícím způsobem:
Do pole Název serveru zadejte adresu URL serveru služby SQL Database pomocí předpony tcp:
Do pole Uživatelské jméno zadejte přihlašovací jméno správce serveru.
Do pole Heslo zadejte přihlašovací heslo správce serveru.
Zadejte nový název databáze.
Konfigurace cílového připojovací řetězec
Pak klikněte na OK. Po zobrazení výzvy k vytvoření databáze klepněte na tlačítko Ano.
Vytvoření databáze
Připojovací řetězec, které použijete pro připojení ke službě SQL Database ve Windows Azure, se zobrazí v textovém poli Výchozí připojení. Pak klikněte na tlačítko Další.
Připojovací řetězec odkazující na SLUŽBU SQL Database
Na stránce Náhled klikněte na Publikovat.
Publikování webové aplikace
Po dokončení procesu publikování se ve výchozím prohlížeči otevře publikovaný web.
Příloha C: Použití fragmentů kódu
S fragmenty kódu máte veškerý kód, který potřebujete na dosah ruky. Dokument testovacího prostředí vám přesně řekne, kdy je můžete použít, jak je znázorněno na následujícím obrázku.
Použití fragmentů kódu sady Visual Studio k vložení kódu do projektu
Přidání fragmentu kódu pomocí klávesnice (jenom C#)
- Umístěte kurzor na místo, kam chcete vložit kód.
- Začněte psát název fragmentu kódu (bez mezer nebo pomlček).
- Sledujte, jak IntelliSense zobrazuje odpovídající názvy fragmentů kódu.
- Vyberte správný fragment kódu (nebo pokračujte v psaní, dokud nebude vybrán název celého fragmentu kódu).
- Dvojím stisknutím klávesy Tab vložte fragment kódu do umístění kurzoru.
Začněte psát název fragmentu kódu.
Stisknutím klávesy Tab vyberte zvýrazněný fragment kódu.
Znovu stiskněte klávesu Tab a fragment kódu se rozbalí.
Pokud chcete přidat fragment kódu pomocí myši (C#, Visual Basic a XML) 1. Klikněte pravým tlačítkem na místo, kam chcete vložit fragment kódu.
- Vyberte Vložit fragment kódu následovaný mými fragmenty kódu.
- Kliknutím na něj vyberte příslušný fragment kódu ze seznamu.
Klikněte pravým tlačítkem na místo, kam chcete vložit fragment kódu, a vyberte Vložit fragment kódu.
Výběr relevantního fragmentu ze seznamu kliknutím na něj