Jul

Gegen schwüle Entwicklung mit Interfaces und Typed Parameter

Posted in Development By Gordon Breuer 0 Comments Tagged Under : , , , , ,


Bei der Planung des letzten Kundenwebs stellte sich mal wieder die Aufgabe eine Navigation zu erstellen, die auf der Datenbank unseres eigenen CMS ConLIVE! basiert. Jedes Web hat dabei eine eigene Datenbank, die jedoch auf einer größtenteils einheitlichen Tabellenstruktur basiert. Vor zwei Jahren entwickelten wir alle Webs noch mit classic ASP und es existierte hierfür eine selbstgeschriebene Library mit Standartfunktionen, u.a. um besagte Navigation zu generieren. Inzwischen sind auch wir auf .NET-Programmierung umgestiegen, allerdings musste deshalb zunächst auch für jedes Web individuell das Auslesen und Zusammenstellen aller Daten erfolgen da die bisherige Library unbrauchbar geworden war. Eine eher “schwüle” Situation, von DRY also keine Spur. Eine neue Library musste her!

In classic ASP hatten wir in jedem Web die jeweilige Datenbank in der Variablen “db” initialisiert. Da die Tabellennamen und deren Struktur gleich sind konnten wir in der Library mit einfachen SQL-Anweisungen die Daten abrufen. Natürlich könnte man es ähnlich auch jetzt in .NET machen, andererseits bieten O/R-Mapper wie Linq2Sql nicht zu Unterschätzende Vorteile, nicht zuletzt Intellisense, Typsicherheit und Syntaxkontrolle bereits zum Zeitpunkt des Kompilierens. Doch auch wenn die für unsere Anwendungszwecke benötigten Tabellennamen und -spalten unter den Webs identisch sind so werden doch immer mal individuelle Anpassungen vorgenommen. Im Falle von Linq2Sql bedeutet das, dass jedes Web seine eigene DBML-Datei erhält und wir keine globale für alle Webs verwenden. Doch wie dann eine global verwendbare Bibliothek erstellen? Die Antwort waren für uns die oft unterschätzten Interfaces kombiniert mit Typed Parametern. Mehr...

Mrz

IIS für Silverlight-, ClickOnce- und WPF-Anwendungen vorbereiten

Posted in Development, WWWahnsinn By Gordon Breuer 0 Comments Tagged Under : , , , , , , , , , , , , ,


Der Internet-Information-Service (IIS) von Microsoft verwendet für die Bereitstellung von Daten eine Whitelist mit erlaubten Dateiendungen. Steht eine Dateiendung nicht in dieser Liste, so erzeugt der IIS beim Abruf stattdessen eine Fehlermeldung.

Neue Technologien bringen meistens auch neue Dateitypen und somit neue Dateiendungen mit, die dem IIS vor der Verwendung erst mitgeteilt werden müssen. Und weil ich selber immer wieder von neuem im Internet suchen muss welche das sind und welcher MIME-Typ jeweils gesetzt werden muss, fasse ich hier die wichtigsten zusammen für die oben genannten Anwendungen:

Silverlight (inkl. Beta 2.0)

Dateiendung MIME-Typ
.dll application/x-msdownload
.xaml application/xaml+xml
.xap application/x-silverlight-app

Wichtig: Damit die DLL-Datei von Silverlight heruntergeladen werden kann und nicht auf dem Server ausgeführt wird, muss die Ausführungsberechtigung auf "nur Skripts" stehen und nicht auf "Skripts und ausführbare Dateien".

ClickOnce

Dateiendung MIME-Typ
.application application/x-ms-application
.deploy application/octet-stream
.manifest application/manifest
.vsto application/x-ms-vsto

Windows Presentation Foundation (WPF)

Dateiendung MIME-Typ
.xbap application/x-ms-xbap

sonstige Dateien

Anwendung Endung MIME-Typ
Rich-Site-Summary .rss application/rss+xml
XML Paper Specification .xps application/vnd.ms-xpsdocument
Share or Bookmark this Article:
  • E-Mail
  • TwitThis
  • del.icio.us
  • Facebook
  • MisterWong.DE
  • Technorati
  • DotNetKicks
  • LinkArena
  • Google
  • DotNetKicks German
© Copyright 2007 - 2010, Gordon Breuer Powered by: BlogEngine.NET 1.6.0.0 with 20 extensions
Interested on your own Blog or on ASP.NET hosting for factory costs? Just send me a e-mail and a short description of your project!