Poland - Dev Days 2005
-
Upload
tomasz-cieplak -
Category
Technology
-
view
575 -
download
0
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 [email protected]
Krzysztof Gawę[email protected]
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>