Poland - Dev Days 2005

Post on 14-Dec-2014

575 views 0 download

description

 

Transcript of Poland - Dev Days 2005

Tworzenie aplikacji Web przy użyciu Visual Studio

2005 i ASP.NET 2.0

Tworzenie aplikacji Web przy użyciu Visual Studio

2005 i ASP.NET 2.0

Krzysztof GawędaKrzysztof Gawęda

Tomasz CieplakTomasz Cieplak

Developers Days 2005Developers Days 2005

AgendaAgenda

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

ASP.NET 2.0 - Co mamy? ASP.NET 2.0 - Co mamy?

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

AgendaAgenda

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

ASP.NET 2.0 - Co mamy? ASP.NET 2.0 - Co mamy?

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

Wzrost produktywności programistyWzrost produktywności programisty

Uproszczenie konserwacji i Uproszczenie konserwacji i administracji rozwiązańadministracji rozwiązań

Wzrost wydajności i skalowalnościWzrost wydajności i skalowalności

Uproszczenie sposobu tworzenia Uproszczenie sposobu tworzenia rozwiązań mobilnych rozwiązań mobilnych

AgendaAgenda

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

ASP.NET 2.0 - Co mamy? ASP.NET 2.0 - Co mamy?

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

AgendaAgenda

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

ASP.NET 2.0 - Co mamy? ASP.NET 2.0 - Co mamy?

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

Serwisy aplikacji dostępne w ASP.NET 2.0

CzłonkostwoCzłonkostwo Zarządzanie rolami

Zarządzanie rolami

PersonalizacjaPersonalizacja

NawigacjaNawigacja Buforowanie danych

Buforowanie danych

KonserwacjaKonserwacja

Developer Stack

Developer StackDeveloper Stack

Providers

Serwisy aplikacji dostępne w ASP.NET 2.0

CzłonkostwoCzłonkostwo

Windows SQL Server Custom

Zarządzanie rolami

Zarządzanie rolami

PersonalizacjaPersonalizacja

NawigacjaNawigacja Buforowanie danych

Buforowanie danych

KonserwacjaKonserwacja

Provider Model Design Pattern

Access MDB

BETA 2

Developer StackDeveloper Stack

Serwisy aplikacji dostępne w ASP.NET 2.0

CzłonkostwoCzłonkostwo Zarządzanie rolami

Zarządzanie rolami

PersonalizacjaPersonalizacja

NawigacjaNawigacja Buforowanie danych

Buforowanie danych

KonserwacjaKonserwacja

Developer StackDeveloper Stack

Serwisy aplikacji dostępne w ASP.NET 2.0

CzłonkostwoCzłonkostwo Zarządzanie rolami

Zarządzanie rolami

PersonalizacjaPersonalizacja

NawigacjaNawigacja Buforowanie danych

Buforowanie danych

KonserwacjaKonserwacja

Cechy ASP.NET 2.0 “Page Framework”

Master Pages

Master Pages

TematyTematyInterfejs

użytkownika

Interfejs użytkownika

LokalizacjaLokalizacja

Developer StackDeveloper Stack

Cechy ASP.NET 2.0 “Page Framework”

Master Pages

Master Pages

TematyTematyInterfejs

użytkownika

Interfejs użytkownika

LokalizacjaLokalizacja

Serwisy aplikacji dostępne w ASP.NET 2.0

CzłonkostwoCzłonkostwo Zarządzanie rolami

Zarządzanie rolami

PersonalizacjaPersonalizacja

NawigacjaNawigacja Buforowanie danych

Buforowanie danych

KonserwacjaKonserwacja

ASP.NET 2.0 “Bukiecik Kontrolek” (50+)

Bezpieczeń-stwo

Bezpieczeń-stwo

Web PartsWeb PartsDaneDane NawigacjaNawigacja

Co mamy? - Wzrost produktywności programistyCo mamy? - Wzrost produktywności programisty

Zmniejszenie ilości wprowadzanego Zmniejszenie ilości wprowadzanego kodu – w niektórych przypadkach o kodu – w niektórych przypadkach o 2/32/3

Kod HTML wprowadzony przez Kod HTML wprowadzony przez programistę nie jest w żaden sposób programistę nie jest w żaden sposób modyfikowany przez środowiskomodyfikowany przez środowisko

Ułatwienie sposobu wyświetlania Ułatwienie sposobu wyświetlania danych:danych:

np. kontrolki GridView, DetailsViewnp. kontrolki GridView, DetailsView

Deklaratywne „przybijanie danych”Deklaratywne „przybijanie danych”

Co mamy? - Wzrost produktywności programistyCo mamy? - Wzrost produktywności programisty

Nie jest już konieczne FPSE do Nie jest już konieczne FPSE do tworzenia rozwiązań. Projekt tworzenia rozwiązań. Projekt dostępny jako: dostępny jako:

System plikówSystem plików

Lokalizacja FTPLokalizacja FTP

Nie jest już wymagany IIS na Nie jest już wymagany IIS na maszynie deweloperskiejmaszynie deweloperskiej

Co mamy? - Uproszczenie konserwacji i administracjiCo mamy? - Uproszczenie konserwacji i administracji

Nowa wtyczka do MMC ułatwiająca Nowa wtyczka do MMC ułatwiająca zarządzanie aplikacją internetową – zarządzanie aplikacją internetową – zapomnij o wprowadzaniu zmian do zapomnij o wprowadzaniu zmian do plików machine.config lub plików machine.config lub web.configweb.config

Nowe narzędzie konfiguracyjne Web Nowe narzędzie konfiguracyjne Web Administration ToolAdministration Tool

Możliwość szyfrowania elementów Możliwość szyfrowania elementów plików konfiguracyjnychplików konfiguracyjnych

Co mamy? - Wzrost wydajności i skalowalnościCo mamy? - Wzrost wydajności i skalowalności

To co lubimy najbardziej – czyli cash To co lubimy najbardziej – czyli cash (cache) – w połączeniu z MS SQL (cache) – w połączeniu z MS SQL Server 2005 – SQL cache invalidationServer 2005 – SQL cache invalidation

Wsparcie dla platformy 64-bitWsparcie dla platformy 64-bit

Kompatybilność z ASP.NET 1.0 i 1.1Kompatybilność z ASP.NET 1.0 i 1.1

<%@ outputcache duration = "3600” varybyparam = "ProdID” sqldependency = "MyDatabase:Products” %>*

*atrybut sqldependency musi wskazywać na źródło danych skonfigurowane w pliku web.config

Co mamy? - Dynamiczne generowanie grafikiCo mamy? - Dynamiczne generowanie grafiki

Przetwarzanie jednego Przetwarzanie jednego formatu graficznego w formatu graficznego w inny, rozpoznawany inny, rozpoznawany przez urządzenieprzez urządzenie

Kontrolka Kontrolka DynamicImage DynamicImage stosuje serwis stosuje serwis Image Image Generation Service, Generation Service, dostępny przez dostępny przez .axd .axd uchwyt uchwyt HTTPHTTP

Ładne?Ładne?

LangustaLangusta

To skorupiak wielkością To skorupiak wielkością dorównujący homarowi, ale dorównujący homarowi, ale pozbawiony szczypiec. pozbawiony szczypiec. Jadalne mięso znajduje się w Jadalne mięso znajduje się w odwłoku. Jest ono białe, odwłoku. Jest ono białe, delikatne i bardzo smaczne. delikatne i bardzo smaczne. Langustę przyrządza się Langustę przyrządza się podobnie jak homara. podobnie jak homara. Homary i langusty podaje się Homary i langusty podaje się przecięte na pół wzdłuż przecięte na pół wzdłuż korpusu.korpusu.

Co mamy? - Uproszczenie sposobu tworzenia rozwiązań mobilnych

Co mamy? - Uproszczenie sposobu tworzenia rozwiązań mobilnych

Plany są. Widzieliśmy je w ASP.NET Plany są. Widzieliśmy je w ASP.NET 2.0 beta 1:2.0 beta 1:

Dynamiczne generowanie grafikiDynamiczne generowanie grafiki

Brak odrębnych kontrolek mobilnychBrak odrębnych kontrolek mobilnych

Nowe kontrolki PhoneCall i Nowe kontrolki PhoneCall i ContentPagerContentPager

W beta 2 znajdziemy… „zwrot w tył”W beta 2 znajdziemy… „zwrot w tył”

RTM i sprawa mobilna? – kto to wie?RTM i sprawa mobilna? – kto to wie?

AgendaAgenda

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

ASP.NET 2.0 - Co mamy? ASP.NET 2.0 - Co mamy?

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

AgendaAgenda

ASP.NET 2.0 - Co chciano osiągnąć?ASP.NET 2.0 - Co chciano osiągnąć?

ASP.NET 2.0 - Co mamy? ASP.NET 2.0 - Co mamy?

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

Nowości w ASP.NET 2.0Nowości w ASP.NET 2.0

Atrybuty stronyAtrybuty strony

ZdarzeniaZdarzenia

Zarządzanie rolami i członkostwemZarządzanie rolami i członkostwem

Cross-page PostingCross-page Posting

Dostęp do danychDostęp do danych

Master PagesMaster Pages

Nowości w ASP.NET 2.0 c.d.Nowości w ASP.NET 2.0 c.d.

Tematy, personalizacjaTematy, personalizacja

NawigacjaNawigacja

Nowy system kompilacjiNowy system kompilacji

Web PartsWeb Parts

Kontrolki serweroweKontrolki serwerowe

Środowisko programistyczneŚrodowisko programistyczne

Nowości - atrybuty stronyNowości - atrybuty strony

EnablePersonalizationEnablePersonalization

LinePragmasLinePragmas

MasterMaster

PersonalizationProviderPersonalizationProvider

ThemeTheme

Nowości – Architektura – cykl życia stronyNowości – Architektura – cykl życia strony

ConstructorConstructorConstructConstruct

TestDeviceFilterTestDeviceFilterAddParsedSubObjectAddParsedSubObjectDeterminePostBackModeDeterminePostBackMode

OnPreInitOnPreInitLoadPersonalizationDataLoadPersonalizationDataInitializeThemesInitializeThemesOnInitOnInitApplyControlSkinApplyControlSkinApplyPersonalizationApplyPersonalization

OnInitCompleteOnInitCompleteLoadPageStateFromPersistenceMedium(LoadPageStateFromPersistenceMedium(

PB)PB)LoadControlStateLoadControlState (PB) (PB)LoadViewState (PB)LoadViewState (PB)

ProcessPostData1

OnPreLoadOnLoadProcessPostData2 (PB)RaiseChangedEvents (PB)RaisePostBackEvent (PB)

OnLoadCompleteOnPreRender

OnPreRenderCompleteSavePersonalizationData

SaveControlStateSaveViewStateSavePageStateToPersistenceMediumRenderOnUnloadAbortTransactionAbortTransactionCommitTransactionCommitTransaction

PB = Post Back

Nowości – członkostwo, kontrola logowaniaNowości – członkostwo, kontrola logowania

Członkostwo pozwala na Członkostwo pozwala na uproszczenie zadań związanych z uproszczenie zadań związanych z bezpieczeństwem:bezpieczeństwem:

CreateUserCreateUser

DeleteUserDeleteUser

Kontrolki serwerowe pozwalają na Kontrolki serwerowe pozwalają na obsługę następujących zdarzeń:obsługę następujących zdarzeń:

loginlogin

loginviewloginview

passwordrecoverypasswordrecovery

Nowości - „Cross-page Posting”Nowości - „Cross-page Posting”

Reguła w Reguła w ASP.NET 1.xASP.NET 1.x – formularz – formularz może przesłać dane „z powrotem” może przesłać dane „z powrotem” tylko do strony, która stworzyła tylko do strony, która stworzyła formularzformularz

ASP.NET 2.0 ASP.NET 2.0 pozwala na to aby pozwala na to aby formularz z jednej strony przesyłał formularz z jednej strony przesyłał dane do innej stronydane do innej strony

Nowości - „Cross-page Posting”Nowości - „Cross-page Posting”<%@ page %><html><head runat="server"> </head><body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox> <asp:Button ID="Button1" PostBackUrl="~/Page2.aspx“ Runat="server" Text="Button" /></form></body></html>

<!– Page2.aspx ->void Page_Load(object sender, EventArgs e){ Label1.Text = ((TextBox)PreviousPage.FindControl("TextBox1")).Text;}

Nowości - „Przybijanie danych”Nowości - „Przybijanie danych”

ASP.NET 1.xASP.NET 1.x<asp:DataGrid ID="MyDataGrid" RunAt="server" /> ...<script language="C#" runat="server">void Page_Load (Object sender, EventArgs e){ SqlConnection connection = new SqlConnection ("server=localhost;database=pubs;integrated security=true"); try { connection.Open (); SqlCommand command = new SqlCommand ("select title_id, titles, price from titles"); MyDataGrid.DataSource = command.ExecuteReader (); MyDataGrid.DataBind (); } finally { connection.Close (); }}</script>

<asp:SqlDataSource ID="Titles" RunAt="server" ConnectionString="server=localhost;database=pubs;integrated security=true" SelectCommand="select title_id, title, price from titles" /><asp:DataGrid DataSourceID="Titles" RunAt="server" />

ASP.NET 2.0ASP.NET 2.0

Nowości - „Master Pages”Nowości - „Master Pages”

Umożliwia stworzenie projektu Umożliwia stworzenie projektu „strony bazowej”„strony bazowej”

Plik Plik .master .master zawiera szablon zawiera szablon wykorzystywany przez wszystkie wykorzystywany przez wszystkie strony aplikacjistrony aplikacji

Inne strony zawierają się jako Inne strony zawierają się jako kontrolki kontrolki w stronie „Master Page”w stronie „Master Page”

VS.NET 2005 umożliwia VS.NET 2005 umożliwia projektowanie „strony bazowej”projektowanie „strony bazowej”

Nowości - TematyNowości - Tematy

Umożliwia na ustawienie domyślnych Umożliwia na ustawienie domyślnych właściwości dla kontrolek właściwości dla kontrolek serwerowychserwerowych

Pliki (.skin) tematów umieszczane są Pliki (.skin) tematów umieszczane są w katalogu w katalogu ThemesThemes

Strona posiada właściwość ThemeStrona posiada właściwość Theme

Właściwość Theme może być Właściwość Theme może być zmieniana zmieniana w kodziew kodzie

Kontrolki nawigacyjneKontrolki nawigacyjne

Zastosowanie dostawcyZastosowanie dostawcyDomyślnie dostawca ładuje plik o nazwie Domyślnie dostawca ładuje plik o nazwie web.sitemapweb.sitemap

Dostawca może być stosowany do Dostawca może być stosowany do wypełnienia kontrolekwypełnienia kontrolek Menu Menu i i NavigationNavigation<siteMap><siteMapNode title="Home" url="default.aspx">

<siteMapNode title="Tab1" url="subdir/default.aspx"><siteMapNode title="SubPage" url="subdir/foo.aspx" />

</siteMapNode><siteMapNode title="Tab2" url="Tab/default.aspx">

<siteMapNode title="SubPage" url="Tab/foo.aspx“/></siteMapNode>

</siteMapNode></siteMap>

Web PartsWeb Parts

Pozwala na edycje układu elementów Pozwala na edycje układu elementów strony (strony (a la SharePointa la SharePoint))

Zastosowanie Zastosowanie ContentWebPart, User ContentWebPart, User Control Control lublub Custom Controls Custom Controls

WebPartManagerWebPartManager decyduje w jaki decyduje w jaki sposób sposób Web Parts Web Parts mogą być mogą być przemieszczane na stronieprzemieszczane na stronie

Nowości - Model kompilacjiNowości - Model kompilacji

Nowa struktura katalogów aplikacjiNowa struktura katalogów aplikacjiApp_BrowsersApp_Browsers

App_CodeApp_Code

App_DataApp_Data

App_GlobalResourceApp_GlobalResource

App_LocalResourcesApp_LocalResources

App_ThemesApp_Themes

App_WebReferencesApp_WebReferences

BinBin

Nowości - Model kompilacji stronyNowości - Model kompilacji strony

Wykorzystywana koncepcja z CLR 2.0 Wykorzystywana koncepcja z CLR 2.0 „partial code” i „code-behind” „partial code” i „code-behind” kompilacji do jednego plikukompilacji do jednego pliku

Pliki .aspx oraz plik „code-behind” Pliki .aspx oraz plik „code-behind” mogą być kompilowane do jednej mogą być kompilowane do jednej prekompilowanej klasy (bazowa klasa prekompilowanej klasy (bazowa klasa strony)strony)

Stary model (ASP.NET 1.x) kompilacji Stary model (ASP.NET 1.x) kompilacji wciąż wspieranywciąż wspierany

Nowości - Model kompilacji aplikacjiNowości - Model kompilacji aplikacji

Cała aplikacja może być Cała aplikacja może być prekompilowanaprekompilowana

aspnet_compiler –v /WebApp c:\web\aspnet_compiler –v /WebApp c:\web\WebAppWebApp

lub w przeglądarcelub w przeglądarce url + url + /precompile.axd/precompile.axd

DEMODEMO

PodsumowaniePodsumowanieNowe cechy ułatwiające Nowe cechy ułatwiające wykonywanie powtarzających się wykonywanie powtarzających się zadań programistycznych zadań programistycznych (SmartTasks)(SmartTasks)

Nowy model pozwalający na Nowy model pozwalający na skalowalność rozwiązańskalowalność rozwiązań

Nowy model kompilacji stron i Nowy model kompilacji stron i aplikacjiaplikacji

Nowe cechy środowiska Nowe cechy środowiska programistycznego pozwalające na programistycznego pozwalające na łatwiejsze tworzenie aplikacji łatwiejsze tworzenie aplikacji internetowych (IntelliSense w internetowych (IntelliSense w plikach .aspx)plikach .aspx)

BETA

CiekawostkiCiekawostki

Lista serwerów hostujących ASP.NET 2.0 beta 2 Lista serwerów hostujących ASP.NET 2.0 beta 2 http://msdn.microsoft.com/asp.net/beta2/hosters/http://msdn.microsoft.com/asp.net/beta2/hosters/

Lista zmian wprowadzonych w ASP.NET 2.0 beta 2Lista zmian wprowadzonych w ASP.NET 2.0 beta 2http://msdn.microsoft.com/asp.net/beta2/beta2changes.asphttp://msdn.microsoft.com/asp.net/beta2/beta2changes.aspxx

http://msdn.microsoft.com/asp.net/beta2/beta2update.aspxhttp://msdn.microsoft.com/asp.net/beta2/beta2update.aspxInterfejs użytkownika Interfejs użytkownika http://msdn.microsoft.com/asp.net/beta2/ui/default.aspxhttp://msdn.microsoft.com/asp.net/beta2/ui/default.aspxDostęp do danychDostęp do danych

http://msdn.microsoft.com/asp.net/beta2/data/default.aspxhttp://msdn.microsoft.com/asp.net/beta2/data/default.aspx

Infrastruktura Infrastruktura http://msdn.microsoft.com/asp.net/beta2/infrastructure/defahttp://msdn.microsoft.com/asp.net/beta2/infrastructure/default.aspxult.aspx

Migracja Migracja http://msdn.microsoft.com/asp.net/beta2/migrating/default.http://msdn.microsoft.com/asp.net/beta2/migrating/default.aspxaspx

Bezpieczeństwo Bezpieczeństwo http://msdn.microsoft.com/asp.net/beta2/security/default.ashttp://msdn.microsoft.com/asp.net/beta2/security/default.aspxpx

Dziękujemy za uwagę!Dziękujemy za uwagę!

„Dzisiaj nigdzie nie idziemy!”

Tomasz Cieplakpoczta@cieplak.net

Krzysztof Gawędakg@orhmet.com.pl

Zmiany pliku web.configZmiany pliku web.config

<configuration> <connectionStrings> <add name="Northwind" connectionString="server=localhost; database=Northwind; uid=sa;pwd="password" /> </connectionStrings> <system.web> <caching> <sqlCacheDependency enabled="true"> <databases> <add name="MyDatabase" connectionStringName="Northwind" pollTime="500" /> </databases> </sqlCacheDependency> </caching> </system.web></configuration>