ASP. NET in der Projektpraxis by HC120603003625

VIEWS: 45 PAGES: 38

									     ASP .NET
In der Projektpraxis
   Hannes Preishuber
   MCSD, MCSE, MCT
     CEO ppedv ag
   HannesP@ppedv.de
Agenda
   Active Server Pages eine Success Story
   Warum wechseln
   ASP .NET was ists
   ASP .NET was bringts
   Anwendungsdesign in .NET
   Portierung ASP -> .NET
Das häufigste Frontend wird in Zukunft
Browser basiert sein.

Der Benutzer will jede Art von
Informationen fließen sehen. Grenzen
wie Betriebsystem oder Prozessoren
interessieren ihn dabei nicht.
Active Server Page ASP
   Voll integriert in IIS
   (VB)Script in HTML-Seiten
    •   Extension ASP
   Alle COM-Objekte verfügbar
    •   Z.B. ADO
   Sechs eingebaute Objekte
    •   Server, Response, Request...
   Entwicklungswerkzeug Visual InterDev
ASP Grenzen
   Script Programmierung
   Code & Design in einer Seite
   Session Management
    •   Cookies & Web Farms
   Installation & Betrieb
    •   Austauschen einer DLL
   Fehlersuche
   Code Sichtbar für Admin
   DTCs (Design Time Controls)
Hier kommt....
   Seite.ASPX
    •   <> ASP 4.0
    •   Auch bekannt als ASP+
    •   Riesen Schritt
    •   Voll kompiliert
    •   Objektorientiert
    •   Basiert und nutzt .NET Framework
    •   Keine DLL's mehr registrieren
    •   Einfach Hype
    •   ....
Wie bekomme ich .NET
   Visual Studio .NET (RC1)
    •   Download oder Bestellen
   Komponenten Update
    •   1 CD inkludiert in Visual Studio .NET
   ASP .NET Premium
    •   18 MB Download von zb www.ASP.net
    •   Mehr Features als ASP .NET
        •   4 Prozessoren, Chaching, Web Farm Session
            State
Grundlagen .NET
   Zwei Techtalk's
   Was ist ASP .NET
    •   Basis Beta 1
    •   http://www.microsoft.com/germany/ms/msdnevents/techtalk/
        download/TT-0201-PPT.ppt
   Was ist das NET Framework & VB .NET
    • Basis Beta 2
    •   http://www.microsoft.com/germany/ms/msdnevents/techtalk/
        download/TT-0901.ppt
Bestandteile

     ASPX-Seite
      •   HTML-Layout
      •   Server-Controls
     Codebehind-Seite
      •   Programmcode in beliebiger
          Programmiersprache
      •   Nutzung von Assemblies einer
          beliebigen Programmiersprache
     Resource-Datei
     BIN-Verzeichnis
Warum Codebehind?

    Trennen von User-Interface und
     Logik
     •   Webdesigner bekommen ihre Chance
    Compiler kann übersetzen
    Drei Arten
     •   In Site
     •   Src
     •   Codebehind
    n. Sprachen
     •   VB.NET und C# als Hauptkandidaten
Unterschiede
   C#                      VB .NET
    •   Neu und schön        •   10 Jahre Wissen
    •   Case Sensitiv        •   Option explizit
    •   Java & C++           •   VB Dialekte
    •   Überladen von        •   IDE komfortabler
        Operatoren           •   VBC
    •   Dokumentieren
    •   Unmanaged Code
    •   CSC
Kein Unterschied

     Beide Sprachen nutzen das
      Framework
      •   Common Language Runtime
      •   Common Type System
      •   Common Language Specification
      •   .NET Klassenbibliothek
      •   Intermediate Language
      •   Just in Time Compiler
      •   Garbage Collection
      •   Objektorientiert
Argument: Web Forms
   HTML
    •   Runat="server"
   Server Controls
    •   Textbox, Label ..
   DataList Controls
    •   Datagrid, Datalist, Repeater
   Validation
    •   Feldprüfung
   Rich Controls
    •   Kalender
Objektmodell
<script language="VB" runat="server">
  Sub Btn_Click(Sender As Object, E As
   EventArgs)
   Message.Text = "Hi " & Name.Text
 End Sub
</script>
<form action="myform.aspx" runat=server>
  Name: <asp:textbox id="Name" runat=server/>
  <asp:button text="Enter"
   Onclick="Btn_Click" runat=server/>
  <asp:label id="Message" runat=server/>
</form>
Vorteile WebForms
   Objektmodell
   Datenbindung
   Validierbar
   Viewstate
   Erzeugen Browser HTML Code
   User Controls
    •   Kombinieren von WebControls (Menü)
File Upload

   FTP
   Posting Acceptor
    <form enctype="multipart/form-data"
      action="/scripts/cpshost.dll?
      PUBLISH" method="POST">
   Drittanbieter   Tool
    • Safileup
   WebDav   Erweitertung von HTTP 1.1
   Per ASP
    Request.BinaryRead(Request.TotalBytes)
File Upload

     Imports System.Web.Util
     Form erzeugen
      • encType="multipart/form-data"
     Input Element
      • <input id=Upload1 type=file
        runat="Server">
     Input Button
     Upload Code
      • Upload1.PostedFile.SaveAs(Datei)
Datenbindung
   Connection String
   ADO Objekt erzeugen
    • Server.CreateObject("ADODB.Recordset“)
   Open Cursortype u Locktype
   <%=rs.fields(„Name“)%>
   Connection bleibt offen (pooling)
   Datenbindung nur an DTCs
Datenbindung
     Connection String
      •   Speichern in Web.Config
          Dim hshTable as NameValueCollection =
             CType(Context.GetConfig("system.web/myconf"),
             NameValueCollection)
          Dim dsn as String = CType(hshTable.Item("DBCON"),
             String)"), Hashtable)("DBCON")), String)

     DatasetCommand
      • mCmd("select       * ",con)
     DataSet statt Recordset
      • mCmd.Filldataset(myDS,"tbName")
     Table Objekt an Grid binden
      • Gr.Datasource=mCmd.Tables(0).Defaultview
Datagrid
   Design Time Control (DTC)
    •   Recordset
    •   Datagrid
   Dicke Library
    •   _ScriptLibrary
   Aber sogar editierbar!
    •   Hart aber möglich
        •   Q229672
Datagrid
   visuelles Grid
   Binden an Daten
    •   Tabelle, XML, Array, Hashtable
   editierbar
   Customizing
    •   Checkboxen, Buttons, Grafiken, Links
   Events
    •   ItemCommand
Mail Versand
   CDONTS oder CDOSYS
    •   SMTP Server des IIS
   Fremde Komponenten
    •   Smtp Mailer
   Hardcore INET Objekt
Mail Versand
   Imports System.Web.Util
   Generieren einer MailMessage
    • Dim   mymail as new MailMessage
   Füllen des Mail Containers
    • Mymail.from="christkindl@himmel.de"
   Smtpmail.Send
    • Smtpmail.send
Grafik anzeigen
   Balkengrafik aus ASP
    •   dehnen eines GIF‘s
   Office Web Components
    •   Excel Chart
   ASP Image Komponenten
Grafik anzeigen
   Imports System.Drawing
    •   Aktuell nur Drawing2D
   Image Control auf aspx
    • <asp:image   id=Bild imageurl="bild.aspx">
   Erzeuge Bild
    • Bild=New   Bitmap(300,230,...)
   Speichern
    • Bild.Save(Stream,ImageFormat.PNG)
    • Response.BinaryWrite(Stream.ToArray)
Architektur
   Anforderungen an Softwareentwicklung
    •   Code reuse
    •   Skalierbar
    •   Ausfallsicher
   Vorteile von Architektur
    •   Gezielteres vorgehen
    •   Später keine Grenzen
   Architektur<>Pflichtenheft
    •   Grobes Konzept
Windows DNA
Das Entwicklungsmodell für Windows

                     Datenbanken

                            Mainframe-Systeme

                                   Externe
  Thin                             Anwendungen
  Client




   Rich
   Client
Architektur in .NET
   Keine COM Objekte mehr
    •   Aber COM+ Unterstützung
        •   System.Enterpriseservices
    •   Kein eigener Komponentendienst
   Asynchrone Prozesse
    •   Keine Callbacks
    •   DisConnected Data
   Keine zentrale Registrierung
    •   Rechte Verwaltung
Architektur in .NET
   Datenbank
    •   Stored Procedures
   Datenzugriff
    •   ADO .NET
   Middle Tier
    •   COM Objekte über Wrapper einbinden
    •   Assamblies als COM Ersatz
    •   WebServices liefern Funktionalität
   Frontend
    •   Web Forms
Sample:IBuySpy
   Sample Downloadbar
    •   http://www.ibuyspy.com/
   Klassische 3 Tier Applikation
Web Farm
   State Management
    •   Einrichten über web.config
    •   Cookies
    •   Cookieless
    •   Stateserver
        •   InProc
        •   OutProc
    •   SQL Server
        •   Scripte InstallSqlState.sql
Warum portieren
   Web Forms
    •   Trennung Code und UI
   Web Farmen
    •   State & Session Management
   Installation
    •   Copy, WEB.CONFIG
   Performance
    •   Caching, Compiliert
   Webservices konsumieren
Wie portieren?

     Umbenennen der ASP Seite (ASPX)
     Prozedur Aufruf mit "( )"
     Variablen deklarieren
     Kein SET mehr
     Standardeigenschaften ergänzen
     Aspcompat in Page Direktive setzen
     .....
     Quelle www.devtrain.de
aspcompat
   <%page aspcompat=true%>
    •   Page läuft im STA
        •   Single Threaded Apartment
    •   Nur für ASPX Seiten
    •   Alle VB 6.0 COM sind STA
    •   Manche COM Objekte können MTA & STA
        •   Umschalten über Registry
        •   Makfre15.bat & makapt15.bat
    •   ASP Objekte in COM Objekten
        •   OnStartPage & OnEndPage Eventhandlers
        •   ObjectContext
Fehlersuche
   Neues Error Fenster
    •   Lokal andere Meldungen
   Tracing
    •   Page Level
    •   Application Level über Web.config
   Debugging
    •   Ohne Visual Studio
    •   dbgclr.exe
   Performance Counters
Das Finale: ASP .NET
   Webanwendungen
    •   Verschiedene Clients
        •   Browser, Mobile und Webservice Consumer
   Einfacheres Erstellen
   Mächtigere Funktionen
   Designed für Enterprise Lösungen
Wo gibt’s weitere Info’s?
    MSDN Online
     • http://www.microsoft.com/germany/msdn
    MSDN Quickie
     • http://www.microsoft.com/germany/msdn/quickie
    MSDN TechTalk-Newsgroup
     • news://msnews.microsoft.com/microsoft.public.de.german.techtalk
    www.devtrain.de
     •   http://www.devtrain.de
    www.gotdotnet.de
    Bücher
     • ASP3.0/ASP+ Sybex Verlag Hannes Preishuber
Fragen!?

           Uff...

								
To top