ASP.NET a webové nástroje 2013.2 pro Visual Studio 2013 – poznámky k verzi
Poznámky k instalaci
ASP.NET a webové nástroje pro Visual Studio 2013.2 jsou součástí hlavního instalačního programu a dají se stáhnout jako součást sady Visual Studio 2013 Update 2.
Dokumentace
Kurzy a další informace o ASP.NET a webových nástrojích pro Visual Studio 2013.2 jsou k dispozici na webu ASP.NET.
Požadavky na software
ASP.NET a webové nástroje pro Visual Studio 2013.2 vyžaduje Visual Studio 2013.
Nové funkce v ASP.NET a webových nástrojích pro Visual Studio 2013.2
Následující části popisují funkce, které byly představeny v této verzi.
- Jedna ASP.NET šablony projektů
- Podpora PROTOKOLU SSL při spouštění webových aplikací ve službě IIS Express
- Vylepšení webového editoru sady Visual Studio
- Browser Link
- Podpora webových aplikací služby Aplikace Azure v sadě Visual Studio
- Vytvoření vzdálených prostředků Azure při vytváření nového webového projektu
- Vylepšení publikování webu
- generování uživatelského rozhraní ASP.NET
- NuGet 2.8.1
- webové formuláře ASP.NET
- ASP.NET MVC 5.1.2
- webové rozhraní API ASP.NET 2.1.2
- ASP.NET webové stránky 3.1.2
- Entity Framework 6.1
- ASP.NET Identity 2.0.0
- Komponenty Microsoft OWIN
- ASP.NET SignalR 2.0.2
Jedna ASP.NET šablony projektů
- Aktualizace šablon projektu ASP.NET, které podporují potvrzení účtu a resetování hesla.
- Aktualizujte šablonu webového rozhraní API ASP.NET tak, aby podporovala ověřování pomocí místních účtů organizace.
- Šablona ASP.NET SPA teď obsahuje ověřování založené na zobrazeních MVC a na straně serveru. Šablona má kontroler WebAPI, ke kterému mají přístup jenom ověření uživatelé.
Podpora PROTOKOLU SSL při spouštění webových aplikací ve službě IIS Express
Abychom odstranili upozornění zabezpečení při procházení a ladění HTTPS na místním hostiteli, přidali jsme dialogové okno, které umožňuje Internet Exploreru a Chromu důvěřovat certifikátu SSL podepsaného svým držitelem.
Vlastnost webového projektu je například možné nastavit tak, aby používala protokol SSL. Kliknutím na F4 zobrazíte dialogové okno vlastností. Změňte ssl povoleno na true. Zkopírujte adresu URL PROTOKOLU SSL.
Nastavte webovou kartu stránky vlastností webového projektu tak, aby používala adresu URL založenou na protokolu HTTPS (pokud https://localhost:44300/
jste dříve nevytvořili weby SSL).
Stiskněte klávesy CTRL+F5 a spusťte aplikaci. Postupujte podle pokynů k důvěryhodnosti certifikátu podepsaného svým držitelem, který služba IIS Express vygenerovala.
Přečtěte si dialogové okno Upozornění zabezpečení a klepněte na tlačítko Ano, pokud chcete nainstalovat certifikát představující localhost.
Web se zobrazí v IE nebo Chromu bez upozornění na certifikát v prohlížeči.
Firefox používá vlastní úložiště certifikátů, takže zobrazí upozornění.
Vylepšení webového editoru sady Visual Studio
Nová položka a editor projektu JSON: Do sady Visual Studio jsme přidali položku a editor projektu JSON. Mezi aktuální funkce editoru JSON patří barevné zvýrazňování, ověřování syntaxe, dokončování závorek, osnova, nastavení možností nástrojů a další.
IntelliSense teď podporuje schéma JSON v3 a v4. Pole se seznamem schématu umožňuje zvolit existující schémata, upravit cestu k místnímu schématu nebo jednoduše přetáhnout soubor JSON projektu do něj a získat relativní cestu.
Nový editor SASS (SCSS): VS2013 RTM jsme přidali LESS a teď máme položku a editor projektu Sass. Funkce editoru Sass jsou srovnatelné s editorem LESS a zahrnují obarvení, proměnné a mixins IntelliSense, komentář/zrušení komentáře, rychlé informace, formátování, ověřování syntaxe, osnovu, definici goto, výběr barev, nastavení možností nástrojů atd.
Nový výběr adres URL v dokumentech HTML, Razor, CSS, LESS a Sass: VS 2013 se dodává bez výběru adresy URL mimo stránky webových formulářů. Nový výběr adres URL pro editory HTML, Razor, CSS, LESS a Sass je bez dialogového okna, plynulý výběr psaní, který rozumí ".". a filtruje seznamy souborů odpovídajícím způsobem pro značky a odkazy img.
Aktualizace editoru LESS přidáním dalších funkcí
Upgrade Technologie IntelliSense knockout: Přidali jsme nestandardní syntaxi KnockOut pro VS IntelliSense, syntaxi ko-vs-editor viewModel:" Dá se použít k vytvoření vazby na více modelů zobrazení na stránce pomocí komentářů ve formuláři:
Přidali jsme také podporu vnořené technologie IntelliSense modelu ViewModel, takže můžete přejít k podrobnostem hluboko vnořených objektů v modelu ViewModel.
<div data-bind="text: foo.bar.baz.etc" />
Zobrazená technologie IntelliSense je úplná technologie IntelliSense javascriptového objektu.
Nový výběr adres URL v dokumentech HTML, Razor, CSS, LESS a Sass: VS 2013 se dodává bez výběru adresy URL mimo stránky webových formulářů. Nový výběr adres URL pro editory HTML, Razor, CSS, LESS a Sass je bez dialogového okna, plynulý výběr psaní, který rozumí ".". a filtruje seznamy souborů odpovídajícím způsobem pro značky a odkazy img.
Browser Link
- Odkaz na prohlížeč teď podporuje připojení HTTPS a zobrazí seznam na řídicím panelu s dalšími připojeními, pokud je certifikát důvěryhodný prohlížečem.
- Statické mapování zdroje HTML
- Podpora spa pro mapování dat
- Data mapování automatické aktualizace
Podpora webových aplikací služby Aplikace Azure v sadě Visual Studio
- Podpora přihlášení k Azure
- Vzdálené ladění a vzdálené zobrazení webových aplikací: Nyní podporujeme vzdálené ladění webových aplikací ve službě Aplikace Azure Service a vzdálené zobrazení souborů obsahu webové aplikace v Průzkumníku serveru.
Vytvoření vzdálených prostředků Azure při vytváření nového webového projektu
V dialogovém okně nové webové aplikace jsme přidali zaškrtávací políčko Vytvořit vzdálené prostředky Azure. Výběrem této možnosti budete moct integrovat prostředí pro vytvoření nové webové aplikace, nastavení webu publikování Azure pro testování a vytvoření profilu publikování v několika jednoduchých krocích.
Vylepšení publikování webu
- Vylepšete uživatelské prostředí pro publikování.
generování uživatelského rozhraní ASP.NET
- Podpora výčtu: Pokud váš model používá výčty, vygeneruje scaffolder MVC rozevírací seznam pro výčet. To používá pomocné rutiny výčtu v MVC.
- Podpora bootstrap: Aktualizovali jsme šablony EditorFor v generování uživatelského rozhraní MVC, aby používaly třídy Bootstrap.
- Podpora balíčků: Generování uživatelského rozhraní MVC a webového rozhraní API přidá balíčky 5.1 pro MVC a webové rozhraní API.
Následující snímky obrazovky ukazují modely generování uživatelského rozhraní.
Kód modelu:
Zkompilujte kód modelu, klikněte pravým tlačítkem myši a vyberte Přidat, Nová vygenerovaná položka.
Zvolte kontroler MVC5 se zobrazeními pomocí Entity Frameworku:
Přidejte kontroler pomocí modelu:
Zkontrolujte vygenerovaný kód, například Views/WeekdayModels/Edit.cshtml obsahuje
@Html.EnumDropDownListFor
:Spuštěním stránky zobrazte vygenerované pole se seznamem výčtu, všimněte si, že pokud hodnota může mít hodnotu null, můžete pro pole se seznamem zvolit prázdný řetězec. Například na stránce Vytvořit se zobrazí následující:
NuGet 2.8.1
NuGet 2.8.1 RTM bude vydán v dubnu 2014. Tady jsou nejdůležitější body ze zpráv k vydání verze, ale další informace o těchto změnách najdete v úplných poznámkách k verzi.
Cílové aplikace pro Windows Phone 8.1: NuGet 2.8.1 teď podporuje cílení aplikací pro Windows Phone 8.1 pomocí cílové architektury monikers WindowsPhoneApp, WPA, WindowsPhoneApp81 a WPA81.
Řešení oprav pro závislosti: Při překladu závislostí balíčků nuGet v minulosti implementoval strategii výběru nejnižší hlavní a podverze balíčku, která splňuje závislosti na balíčku. Na rozdíl od hlavní a podverze se však verze opravy vždy přeložila na nejvyšší verzi. I když bylo chování dobře záměrné, vytvořilo nedostatek determinismu pro instalaci balíčků se závislostmi.
Switch DependencyVersion: I když NuGet 2.8 mění výchozí chování pro řešení závislostí, přidává také přesnější kontrolu nad procesem řešení závislostí prostřednictvím přepínače -DependencyVersion v konzole správce balíčků. Přepínač umožňuje přeložit závislosti na nejnižší možné verzi (výchozí chování), nejvyšší možnou verzi nebo nejvyšší podverzi nebo verzi opravy. Tento přepínač funguje jenom pro install-package v příkazu PowerShellu.
Atribut DependencyVersion: Kromě výše uvedeného přepínače -DependencyVersion má NuGet také povoleno nastavit nový atribut v souboru nuget.config definující výchozí hodnotu, pokud není přepínač -DependencyVersion zadaný ve vyvolání instalačního balíčku. Tuto hodnotu bude respektovat také NuGet Správce balíčků Dialog pro všechny operace instalačního balíčku. Pokud chcete nastavit tuto hodnotu, přidejte do souboru nuget.config následující atribut:
<config> <add key="dependencyversion" value="Highest" /> </config>
Operace NuGet ve verzi Preview s parametrem -WhatIf: Některé balíčky NuGet můžou obsahovat podrobné grafy závislostí, které můžou být užitečné při instalaci, odinstalaci nebo aktualizaci, aby se nejprve zjistilo, co se stane. NuGet 2.8 přidá standardní PowerShell –what if switch to the install-package, uninstall-package, and update-package commands to enable visualizing the entire closure of packages which the command will be applied.
Downgrade Package: Není neobvyklé nainstalovat předběžnou verzi balíčku, aby bylo možné prozkoumat nové funkce a pak se rozhodnout vrátit k poslední stabilní verzi. Před NuGetem 2.8 se jednalo o vícekrokový proces odinstalace předběžné verze balíčku a jeho závislostí a následnou instalaci předchozí verze. V případě NuGetu 2.8 se ale balíček aktualizace vrátí zpět k ukončení celého balíčku (např. stromu závislostí balíčku) na předchozí verzi.
Závislosti vývoje: Jako balíčky NuGet je možné doručovat mnoho různých typů funkcí – včetně nástrojů, které se používají k optimalizaci procesu vývoje. Tyto komponenty, zatímco mohou být instrumentální při vývoji nového balíčku, by neměly být považované za závislost nového balíčku při pozdějším publikování. NuGet 2.8 umožňuje, aby se balíček identifikoval v souboru .nuspec jako developmentDependency. Při instalaci se tato metadata také přidají do souboru packages.config projektu, do kterého byl balíček nainstalován. Když se tento soubor packages.config později analyzuje pro závislosti NuGet během nuget.exe packu, vyloučí tyto závislosti označené jako vývojové závislosti.
Jednotlivé soubory packages.config pro různé platformy: Při vývoji aplikací pro více cílových platforem je běžné mít různé soubory projektu pro každé z příslušných prostředí sestavení. Je také běžné využívat různé balíčky NuGet v různých souborech projektu, protože balíčky mají různé úrovně podpory pro různé platformy. NuGet 2.8 poskytuje vylepšenou podporu pro tento scénář vytvořením různých souborů packages.config pro různé soubory projektu specifické pro platformu.
Záložní mezipaměť: Přestože balíčky NuGet se obvykle využívají ze vzdálené galerie, jako je galerie NuGet pomocí síťového připojení, existuje mnoho scénářů, kdy klient není připojený. Bez síťového připojení se klientovi NuGet nepodařilo úspěšně nainstalovat balíčky – i když už tyto balíčky byly na počítači klienta v místní mezipaměti NuGet. NuGet 2.8 přidá do konzoly správce balíčků automatickou záložní mezipaměť.
Funkce záložní mezipaměti nevyžaduje žádné konkrétní argumenty příkazu. Záložní mezipaměť navíc v současné době funguje pouze v konzole správce balíčků – chování v dialogovém okně správce balíčků aktuálně nefunguje.
Opravy chyb: Jednou z hlavních oprav chyb provedených v příkazu update-package -reinstall bylo zlepšení výkonu.
Kromě těchto funkcí a výše uvedené opravy výkonu obsahuje tato verze NuGet také mnoho dalších oprav chyb. V této verzi bylo vyřešeno celkem 181 problémů. Úplný seznam pracovních položek opravených v NuGetu 2.8 najdete v nástroji NuGet Issue Tracker pro tuto verzi.
ASP.NET – webové formuláře
- Šablony webových formulářů teď ukazují, jak provést potvrzení účtu a resetování hesla pro ASP.NET Identitu.
- Ovládací prvek Zdroj dat entity a dynamické Zprostředkovatel dat pro Entity Framework 6. Další podrobnosti najdete na následujícím blogu MSDN: Zprostředkovatel dynamických dat a ovládací prvek EntityDataSource pro Entity Framework 6.
ASP.NET MVC 5.1.2
- Vylepšení směrování atributů
- Podpora bootstrap pro šablony editoru
- Podpora výčtu v zobrazeních
- Nerušující podpora atributů MinLength/ MaxLength
- Podpora kontextu "this" v nerušivém ajaxu
webové rozhraní API ASP.NET 2.1.2
- Globální zpracování chyb
- Vylepšení směrování atributů
- Vylepšení stránky nápovědy
- Podpora IgnoreRoute
- Formátovač multimediálního typu BSON
- Lepší podpora asynchronních filtrů
- Analýza dotazů pro knihovnu formátování klienta
ASP.NET webové stránky 3.1.2
Entity Framework 6.1
Entity Framework byla aktualizována na verzi 6.1 pro modul runtime i nástroje. Entity Framework (EF) 6.1 je menší aktualizace entity Frameworku 6 a obsahuje řadu oprav chyb a nových funkcí. Podrobné informace o EF6.1, včetně odkazů na dokumentaci k novým funkcím, naleznete v tématu Historie verzí entity Framework. Mezi nové funkce v této verzi patří:
- Konsolidace nástrojů poskytuje konzistentní způsob, jak vytvořit nový model EF. Tato funkce rozšiřuje průvodce ADO.NET Entity Data Model tak, aby podporoval vytváření modelů Code First, včetně zpětné analýzy z existující databáze. Tyto funkce byly dříve k dispozici v beta kvalitě v nástrojích EF Power Tools.
- Zpracování selhání potvrzení transakce poskytuje nový System.Data.Entity.Infrastructure.CommitFailureHandler , který využívá nově zavedenou schopnost zachytit transakce operace. CommitFailureHandler umožňuje automatické obnovení z chyb připojení při potvrzení transakce.
- IndexAttribute umožňuje zadat indexy umístěním atributu na vlastnost (nebo vlastnosti) do modelu Code First. Code First pak vytvoří odpovídající index v databázi.
- Veřejné rozhraní API pro mapování poskytuje přístup k informacím EF o tom, jak se vlastnosti a typy mapují na sloupce a tabulky v databázi. V předchozích verzích bylo toto rozhraní API interní.
- Možnost konfigurovat průsečíky prostřednictvím souboru App/Web.config (což umožňuje přidání průsečíků bez opětovného zkompilování aplikace).
- DatabaseLogger je nový průsečík, který usnadňuje protokolování všech databázových operací do souboru. V kombinaci s předchozí funkcí to umožňuje snadno přepínat protokolování databázových operací pro nasazenou aplikaci bez nutnosti rekompilovat.
- Byla vylepšena detekce změn modelu migrace tak, aby byly lépe vygenerované migrace přesnější. Výrazně jsme vylepšili také výkon procesu detekce změn.
- Vylepšení výkonu včetně omezených databázových operací během inicializace, optimalizace porovnání rovnosti null v dotazech LINQ, rychlejší generování zobrazení (vytváření modelů) ve více scénářích a efektivnější materializace sledovaných entit s více přidruženími.
ASP.NET Identity 2.0.0
Dvojúrovňové ověřování: ASP.NET Identita teď podporuje dvojúrovňové ověřování. Dvojúrovňové ověřování poskytuje vašim uživatelským účtům další vrstvu zabezpečení v případě ohrožení vašeho hesla. Existují také ochrana proti útokům hrubou silou proti dvěma kódům faktorů.
Uzamčení účtu: Poskytuje způsob, jak uživatele uzamknout, pokud uživatel zadá heslo nebo kódy dvoufaktorového kódu nesprávně. Počet neplatných pokusů a časový rozsah pro uživatele je možné nakonfigurovat. Vývojář může volitelně vypnout uzamčení účtu u určitých uživatelských účtů, pokud ho potřebují.
Potvrzení účtu: Systém identit ASP.NET teď podporuje potvrzení účtu. Jedná se o poměrně běžný scénář ve většině webových stránek, kdy při registraci nového účtu na webu musíte před provedením čehokoli na webu potvrdit svůj e-mail. Potvrzení e-mailu je užitečné, protože brání vytvoření nepravděných účtů. To je velmi užitečné, pokud používáte e-mail jako způsob komunikace s uživateli vašeho webu, jako jsou fórum, bankovnictví, elektronické obchodování nebo sociální weby.
Resetování hesla: Resetování hesla je funkce, ve které uživatel může resetovat hesla, pokud zapomněl heslo.
Bezpečnostní razítko (odhlásit se všude): Podporuje způsob, jak uživatele znovu vygenerovat token zabezpečení v případech, kdy uživatel změní heslo nebo jakékoli jiné informace související se zabezpečením, jako je odebrání přidruženého přihlášení (například Facebook, Google, účet Microsoft atd.). To je potřeba k zajištění, aby všechny tokeny vygenerované pomocí starého hesla byly neplatné. Pokud v ukázkovém projektu změníte heslo uživatele, vygeneruje se pro uživatele nový token a všechny předchozí tokeny se zneplatní. Tato funkce poskytuje vaší aplikaci další vrstvu zabezpečení, protože když změníte heslo, budete odhlášeni odkudkoli (všechny ostatní prohlížeče), kde jste se k této aplikaci přihlásili.
Rozšiřte typ primárního klíče pro uživatele a role: V ASP.NET Identita 1.0 byl typ primárního klíče pro uživatele a role tabulky řetězce. To znamená, že když byl systém identit ASP.NET trvalý v SQL Serveru pomocí Entity Frameworku, používali jsme nvarchar. O této výchozí implementaci stack Overflow a na základě příchozí zpětné vazby bylo kolem této výchozí implementace mnoho diskuzí. Poskytli jsme háček rozšiřitelnosti, kde můžete určit, co by mělo být primárním klíčem tabulky Uživatelé a role. Tento háček rozšiřitelnosti je zvlášť užitečný v případě, že migrujete aplikaci a aplikace ukládala id uživatele, jsou identifikátory GUID nebo inty.
Podpora IQueryable pro uživatele a role: Přidání podpory IQueryable pro UsersStore a RolesStore, můžete snadno získat seznam uživatelů a rolí.
Podpora operace Delete prostřednictvím UserManageru
Indexování uživatelského jména: V ASP.NET implementaci Entity Framework identity jsme přidali jedinečný index uživatelského jména pomocí nového IndexAttribute v EF 6.1.0. Tím zajistíte, že uživatelská jména jsou vždy jedinečná a nedošlo k žádné konfliktu časování, ve kterém byste mohli skončit s duplicitními uživatelskými jmény.
Rozšířený validátor hesel: Validátor hesla odeslaný v ASP.NET Identity 1.0 byl poměrně základní validátor hesel, který ověřoval pouze minimální délku. K dispozici je nový validátor hesel, který vám dává větší kontrolu nad složitostí hesla. Upozorňujeme, že i když zapnete všechna nastavení v tomto hesle, doporučujeme povolit dvoufaktorové ověřování pro uživatelské účty.
Middleware IdentityFactory / CreatePerOwinContext:
- Správce uživatelů: Pomocí implementace factory můžete získat instanci UserManager z kontextu OWIN. Tento model je podobný tomu, co používáme k získání authenticationManageru z kontextu OWIN pro SignIn a SignOut. Toto je doporučený způsob získání instance UserManager na žádost o aplikaci.
- DbContextFactory: ASP.NET Identita používá Entity Framework k zachování systému identit na SQL Serveru. K tomu má systém identit odkaz na ApplicationDbContext. Middleware DbContextFactory vrátí instanci ApplicationDbContext na požadavek, který můžete použít ve své aplikaci.
balíček NuGet ukázek identit ASP.NET: Balíček Samples NuGet může usnadnit instalaci a spouštění ukázek pro ASP.NET Identity a dodržovat osvědčené postupy. Toto je ukázková aplikace ASP.NET MVC. Před nasazením v produkčním prostředí upravte kód tak, aby vyhovoval vaší aplikaci. Ukázka by měla být nainstalována v prázdné ASP.NET aplikaci. Další informace o balíčku najdete v následujícím blogovém příspěvku: Oznámení RTM ASP.NET Identity 2.0.0
Komponenty Microsoft OWIN
V této verzi jsme opravili spoustu chyb.
ASP.NET SignalR 2.0.2
V této verzi jsme opravili spoustu chyb. Podrobnější informace najdete v poznámkách k verzi 2.0.2.