Home Windows ecommerce Treiber Server Entwicklung Software Security Internet Hardware Nicht IT Mobile Nintendo Suchen Multimedia Virtualisierung Kopie von Navi01b Provider


Unverarbeitet

Bereich ASP.NET

Unverarbeiteter Stoff

Konfiguration

settings.default.meine Einstellung
ev Referent auf System.configuration

Werden in der AppData des Benutzers gespeichert.

Variante AppSettings

string mySetting = ConfigurationManager.AppSettings["mySeting"];

Setup Projekt

Innerhalb der Solution neues Setupprojekt erstellen

Merge Modul: Zum Installieren einer Komponente in eine bestehende Applikation. Sozusagen SubSetup.

File System/ApplicationFolder / Add Project Output Group
File System/Users Desktop / für Icon auf Desktop

MSI Datei ist die nötige Datei
Exe beinhaltet zusätzlich das installationsprogramm

Zusätzliche Konfiguration

Registry Einträge

FileTypes: NEue Dateitypen registrieren

User Interface: Eigene Dialoge im Setupassistent

CustomActions: zum Beispiel für zusätzliche Datenbankinstallation . Benötigt zum Beispiel o SQL zur Ausführung der Skripts aus Clients Tools des SQL Server

Launch Conditions: Was muss als Voraussetzung erfüllt sein: z.B. welche Version von .Net vorhanden sein muss.

Windows Version prügen LaunchConditions
Name frei
Contition VersionNT < 800
Nummer unter "Operating System Property Values"

Prüfen ob bestimmte Dateien existieren
- Zuerst Datei suchen
- Dann Datei prüfen

 

Shortcut auf Desktop setzen

Shortcat erzeugen und verschieben
Beschriftung anpassen
 

ClickOnce Deploymend

Benötigt kein Setup

Eigenschaften des Projektes->Publish
Publishing Folder: Pfad wo die Dateien liegen
Installation Folder

Attribute

  •  Eigenschaften eines Control
  •  Attribut Obsolete

Security

Rollenbasierte Sicherheit

  •  Applikation hat das Recht des Benutzers welcher den Code gestartet hat
  •  Bietet keinen Schutz gegen bösartigen Code

Code Access Security (CAS)

  •  Berücksichtigt für die Ausführung die Herkunft des Codes.

Beispiel für CAS

  •  Editor für Datei hosts (ist normalerweise schreibgeschützt)
  •  Auf Laufwerk C:\Programme oder c:\Windows schreiben (Systemvariabel verwenden)
  •  In Register Datenbank schreiben

 

evidence, englisch Beweis

 

SecrityAction.RequestMinimum
Minimales nötiges Recht
SecurityAction.RequestOptimal
Keine anderen Rechte, ausser jenen welche ich wirklich gebe
SecurityAction.RequestRefuse
Rechte welche mein Programm sicher nicht haben soll. Damit wird der Zugriff auf kritische Ressourcen verhindert welche ein Angreifer missbrauchen könnte.

 

Code vor Veränderung schützen (Strong Name)

Strong Named Assemblies schützt den selbst entwickelten Code vor Veränderung.

Diskussion über:
https://www.xing.com/app/forum?op=showarticles;id=3791073

Objektive Betrachtung
https://entwickler.com/zonen/portale/psecom,id,101,online,828,neu,1.html

http://www.mono-project.com/Cecil Ein Tool um IL Code zu verändern.
http://www.postsharp.org/ noch ein Tool um IL-Code zu verändern.

 

Aufgabe Disassemblieren

Finden Sie den Text "(Fenstertitel)"
Finden Sie den Text "Klick mich an" (Zeile 56:
Finden Sie den Text "Hallo Erde"
Finden Sie den Text "Box-Titel"

  • Korrigieren Sie den Text "Klick" zu Knack" und den Text "Erde" zu "Mond".
  • Führen Sie die Exe Datei erneut aus. Was beobachten Sie?

 

Umgebungsvariabel DevPath

 

Globalisierung

Problemzonen

Deutschland: 3.2
Schweiz: 3,2
Chinesisch ein bisschen mehr Zeichen

Datum: 31.12.08 in CH 12.31.08 in USA

3 Arten von Kulturen

  •  Invariante Kultur
  •  Neutrale Kultur
    DE, EN
  •  Spezifische Kultur
    DE-CH, DE-AT

Auslesen und setzen der Kultur

using System.Globalization
 

Mehrsprachige Anwendungen

Übersetzen der Ressourcen Tools

  • RexEx (Stellt mehrere Sprachübersetzungen nebeneinander dar)
  • Resource
  • WinRes

Konfiguration von Anwendungen

Standardkonfigurations Datei: prg.exe.config

 

Applikationstypen

Windows Presentation Foundation (WPF)

Geeignet für Anwendungen welche Animationen benötigen.

Windows Workflow Fundation (WF)

Lohnt sich bei längeren Aufgaben (Prozessen) wie z.B. Bestellprozess (Kunde ruft an, Daten werden erfasst, Lieferschein, Rechnung, Zahlungseingang, Abbuchen, Mahnlauf)

  • Call Tracking System
  • Offertbearbeitung, Bestellprozesse

Lohnt sich nicht bei kurzen Aufgaben wie

Beispiel

Neues Projekt C# Workflow Sequential Workflow Console Application

Neues Projekt C# WPF Anwendung

Windows Communication Foundation

WCF = "ASMX [mit WSE]" + ".NET Remoting" + "MSMQ" + "COM+ Enterprise Services" + "Pipes"

 

Microsoft Expression Blend

Tool zum Designen von Oberflächen. Gut-Designer.

Bis v3 ist Codieren noch nicht möglich.

Blend und Visual Studio werden zusammenwachsen.

 

 

Eine WPF Anwendung benötigt folgende drei Referenzen

  • PresentationCore
  • WindowsBase

 

 

Applikationsarten für WPF Projekte

  • WPF Applikation
  • Navigationsapplikation
  • XBAP Applikation
    Läuft innerhalb des Browsers, benötigt aber .NET. Wird nie unter Macintosh oder Linux laufen weil .NET benöitgt wird.
  • Silverlight
    Läuft auf allen Browsern,

Release und DebugMode

  • Hat Einfluss auf Performance
  • Konfigurationen bei
    - Project->Eigenschaften->Build
    - Build Configuration Manager

Release Mode:

  • Code wird optimaler kompiliert
  • Kann keine Breakpoints setzen
  • Stack Trace hat keine Zeilennummern mehr bei Exception

Debug Mode:

  • Kann Break Points setzen
  • Stack Trace hat Zeilennummern bei Exception

Prüfung

Anmeldung bei prometric (15% Rabat mit Rubbelcode)

40-50 MC-Fragen

Beispielprüfung im Buch auf CD oder measureup.com Offiziell oder Testking.com testkingonline.com examcollection.com (benötigt VCE Reader) (inoffiziel)

1'000 Punkte pro Prüfung mit 70% bestanden (700 Punkte)

In aufsteigender Reihenfolge

Prüfungssimulationen im Internet

www.certbase.de (de) Kostenlose Testprüfung und einige kostenpflichtige Prüfungen.

www.examcollection.info (e) Prüfungen zum Downloaden im vce Format.

www.testpassport.de (de)

www.testking.com (e)

www.transcender.com (e)

Basisprüfung

(3)70-536 Microsoft .NET Framework - Application Development Foundation
Grundprüfung, muss man in jedem Fall haben

learning/en/us/exams/70-536.xaml

MC TS

(1)70-502: Microsoft .NET Framework 3.5 - Windows Presentation Foundation
WPF

 

(4)70-562 Microsoft .net Framewerk 3.5 - ASP.net Application Development
ASP.NET

(2)70-561 Microsoft .net Framewerk 3.5 - ADO.net Application Development
ADO.net

MC PD

70-564 Designing and Developing ASP.NET Applications Using the Microsoft .NET Framework 3.5
70-565 Designing and Developing Enterprise Applications Using the Microsoft .NET Framework 3.5 (Ist dies EA?)
Web

MC PD EA (Enterprise Architect)

70-565 Voraussetzung ist 505,562,503

 

Prüfungsfragen

  • Progressbar.isindetimerted = true

Ereignisorientierte Programmierung

Application Event

XAML Anwendung

Exit,SessionEnding(Windows herunter fahren),Desactivated,Startup,Activated und DispatcherUnhandledException

1.) App.xaml Event Zeile Exit/...   schreiben. Dann Code erstellen

Windows Event

 

Databinding

Datenbinding benötigt immer eine Datenquelle und ein Datenziel.

Canvas.Left ="{Binding Path=Value, ElementName=sld}" />
</Canvas>

Canvas.Left ist Datenziel
Path=Value und ElementName=sld ist Datenquelle (vom Element sld dessen Wert)

Markup Extention
{Binding
   ElementName = " "
   Path = " "
}

UpdateSouceTrigger = "default": Ist je nach Control unterschiedlich. Bei Textbox lostFocus
UpdateSourceTrigger = "LostFocus"  : Aktualisiert die Datenquelle beim Ereignis lostFocus
UpdateSourceTrigger = "explicit" : um Daten z.B. bei Klick auf OK Knopf an DB zu schreiben.

 

4 Arten der Datenbindung

  1. TwoWay (z.B. Textbox) In eine Textbox kann ein defaultwert dargestellt werden und die Eingabe zurück gegeben werden.
  2. OneWay (z.B. Labels) Das label kann Daten erhalten, wird aber nie Daten liefern.
  3. OneWayToSource (z.B. ) Wert wird
  4. OneTime (z.B) Daten werden beim Start einmal dargestellt

Datenbindung per Code

gem Ordner

xpaht bei xml XPath=//Kunde[Name='Meier']

 

Interoperabilität

WPF vermisst eine WinForm Komponente, z.B. DateTimePicker. Diese wollen wir in XAML einbauen. (Unterlage Seite 5)

 

Winform in WPF

 

WPF in WinForm

 

Kurzformen

If Bedingung ? wahr : falsch

string result = func() ?? string.empty ;
Wenn das Ergebnis func() null ist, dann wird string.empty verwendet

Deklaration

mit var wird eine Variabel aufgrund ihres zugewiesenen Wertes typisiert. Kommt von Link her.

var s = "Hallo"; //Deklariert die Variabel s als String
var i = 7;    //Deklariert die Variabel i als integer
var pi=3.141; //Deklariert die Variabel pi als double

Multithreading

Prozess

  • Instanz eines laufenden Programmes
  • Kernelobjekt des Betriebssystems
  • Adressraum mit Code und Daten
  • Benöigt mindestens einen Tread (Maintread)

Thread

  • Ausführungspfad für Programmcod
  • Besitzt eigene Register und eigenen Stack
  • Teilt Heap mit anderen Threads

Thred.sleep

 

Dateien im Projekt

Embedded Ressources: Wird in die DLL hinein kompiliert
Content: Für IMG, PDF, oder andere Dateien. Datei wird in das Projekt hinein kopiert.
Compile: Für Code Dateien
Ressource: Liegt in Ressource DLL

 

Thema ADO.NET

Prüfung 70-561

Ziel

Sie können die Begriffe Schema, Tabellen Constrains und Transaktion erklären

Sie können mit den wichtigsten Klassen des ADO .net objektmodell praktisch arbeiten

Begriffe

Schema, Metadaten: Beschreibung der Datenbank

Daten: Inhalt des Schema

Constraints: Schlüsselfeld (Geschwindigkeit: am besten ist int Autowert, langsam ist GUID oder zusammengesetzte Constraints.

Transaktion: Mehrere Zusammengefasste Datenbankzugriffe welche nur ausgeführt werden, wenn jeder einzelne Zugriff funktioniert. Schlägt ein Zugriff fehl, wird kein Zugriff umgesetzt.

Zugriff auf Spalten Geschwindigkeit optimieren mit GetOridnal("KundenNr") zuerst die SpaltenID heraus finden dann Spalte[x] anstelle Spalte["KundenNr"] zugreifen.

 

www.connectionstrings.com/oracle

 

Drag and Drop via DataSources

 

Binäre Daten (BLOB)

Gespeichert in DB als Text oder Ntext oder Image

Zugriff auf Dateisystem ist schneller als Zugriff auf BLOB

Lesen der Daten

DbDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
const int bufSize = 100; // ist etwas klein, könnte 1024 sein. Je kleiner um so mehr Verwaltungsaufwand, je grösser um so mehr RAM ist nötig.
 

SQL Server 2008 kann Dateien im Dateisystem verwalten. Wird verweisender Datensatz gelöscht, wird auch Datei gelöscht.

Schreiben binärer Daten 

 

 

Layer

PL (Presentation Layer)

DataGrid

BL (Bussines Layer)

Methode Fill und Get aus dem TableAdapter

DAL (DataAccess Layer)

 

 

Korrigenda s.130 Statt HeaderText auf DataPropertyName prüfen

 

Bulk

Kopieren grosser Datenmengen

Caching

Datenarten

Kantonsnamen

Verkehrsmeldung

Lagerbestand

 

Entscheidungskriterien

Client: Speicher (wie lange sind wie viel Daten im Speicher), Performance (Wie lange dauert es, die Daten erneut zu laden)
Verbindung: Kapazitäz
Server: AnzahlZugriffe

LINQ (Language Integrated Querry)

Standartisierte Abfrage von Datenquellen

LINQ to Google

LINQ to SQL (ab .NET 3.5) (Wird das weiter entwickelt oder lebt LINQtoEntity?)

LINQ to XML

LINQ Statement wird erst beim durchlaufen abgefragt.

Tools für Verwendung von LINQ: LINQPad

LINQ Abfrage eines String Array

string [] customers = {"Tom", "Jerry","Donald","Dagobert"};

// definiere die Abfrage (Query)
var myCustomer = fom c in customers
                           where c.StartsWith("D")
                           orderby c descending
                           select c;

// erst jetzt wird die Abfrage ausgeführt
foreach (string c in myCustomers) {
   Console.WriteLine(c);
}

LINQtoSQL

  • Geht nur mit MS SQL Datenbanken, nicht mit z.B. Oracle

In neuem Projektneues Item Data Link To SQL

Add new Data Source

-----

Aus Server Explorer Tabelle in dbml Fenster ziehen

Paging und Logging

  • Ist abhängig vom Provider
  • Gute Praxis ist Kontrolle ob Skip und Take die Daten nicht mehrfach von der Datenquelle holen.

var data = (from c in customers select c).Skip(30).Take(10);
//Logging einschalten
dataContext.log = console.Out;

LINQtoXML

XDocument feedXml = XDocument.Load("Feeds.xml");
var feeds = from feed in deedXML.Descendants("Feed")


foreach(var feed in feeds){
   Console.WriteLine(feed.Name);
}

Extension Methods

public static bool IsValidEmailAdress(this string s)

Die Methode IsValidEmailAdress besitzt eine Erweiterung, erkennbar an this.

 

Framework

  • Entity Framework (Mehr Möglichkeiten, vermutlich grössere Zukunft)
    Seit .NET 3.5 Sp1
  • .NET Framework

Entity Framework

Add New Item ADO.NET Entity Data Modell
Generate from database
Tabellen auswählen
 

  • LINQ to Entities: einfach und flexibel
  • LINK to SQL:

 

Excepion Error 11 bis 16 sind Benutzerfehler, 17-25 Software or Hardware

Linq + EF, ADO.NET Workshop

Lambda Ausdrücke

Unspezifizierte Datentypen: var

Wenn Datentyp nicht bekannt ist, kann var verwendet.Sollte vermieden werden.

 

Partielle Methoden ab C# 3.0

  • Können nur in partial Klassen implementiert werden
  • Partielle Methoden sind IMMER private
  • Partielle Methoden geben IMMER void zurück

partial class NWContext
{
   partial void DeleteCustomer();
   DeleteCustomer();
}

-------
Wenn Code nicht wie folgt implementiert wurde, wird die definition gelöscht.
-------

partial vod DeleteCustomer()
{
   ...
}

Datenbank synchronisieren

Im ProjektExplorer Add New Local DatabaseCache

 

Services

DebugViwe 
www.sysinternals.ch

 

WCF (Windows Communication Framework)

Ein Service ist eine Menge von Funktionen auf einem Server welche Daten in einfachster Art empfangen oder zurück geben. Diese Funktionen können Platformunabhängig angesprochen werden.

Das ABC der Kommunikation

  • A = Adresse, wo ist der Service
  • B = Binding, wie wird der Service aufgerufen, Verschlüsselt, Firewall
  • C = Contract, welche Operationen sind vorhanden

 

 

 


Ihre Werbung hier

 

Haftungsausschluss: Verwendung der Informationen auf Ihre eigene Gefahr. Wir übernehmen keinerlei Haftung. Beachten Sie auch den Haftungsausschluss.


Wenn Sie Wünsche, Anregungen, Verbesserungen, Korrekturen oder sonstige Vorschläge zu dieser FAQ haben: . Wir freuen uns auf Ihr Mail.


 Und jetzt noch ein bisschen Werbung...

Stellensuche, Jobangebote unter www.notizia.ch/stellensuche