WebMatrix, Razor und IIS7-Deployment

WebMatrix ist ein großartiges Tool, um Webseiten schnell zu erstellen und zu bearbeiten – egal ob in PHP, ASP, Razor, etc. Durch die vielen Templates fällt der Einstieg besonders leicht. Und der eingebaute IIS Express ermöglicht sofortiges Testen. Leider kam es beim Deployment meines ersten WebMatrix-Razor-Projektes zu einem Problem: die erweiterungslosen URLs („/Default“ statt „/Default.cshtml“), die noch im IIS Express funktionierten, führten im IIS7 zu 403- und 404-Fehlern. Nach ein wenig Suchen im Netz konnte ich aber eine einfache Lösung finden; einfach die Web.config um den folgenden Eintrag erweitern:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

Weitere Problemlösungen finden sich unter http://www.iis.net/learn/develop/using-webmatrix/webmatrix-beta-2-release-readme

PowerShell-WGET

Bislang habe ich mir auf der Kommandozeile mit den UnxUtils das Leben erleichtert, doch inzwischen gewinnt die PowerShell mehr und mehr an Bedeutung für mich. Ein hin und wieder benötigtes Kommando ist „wget“ (vor allem, wenn man auf einem Server ungern die IE-Sicherheitseinstellungen runterschrauben will) – in der PowerShell lässt es sich in seiner einfachsten Form (dem Runterladen einer Datei) leicht nachbilden:

$wget = new-object System.Net.WebClient
$wget.DownloadFile("http://jochenlinnemann.de/favicon.ico", ".\jl-favicon.ico")

Simple Web Server bereit zum Download

Es ist soweit, mein eigener kleiner Webserver ist fertig! Im Wesentlichen versteht er HTTP 1.1, kommt aber auch mit 0.9, 1.0 und ein wenig 2.0 klar. Der Clou ist seine Einfachheit:

  • Keine Installation
  • Einfache Konfiguration von mehreren ASP.NET-Anwendungen
  • Starten per Doppelklick (optional als Windows-Dienst installierbar)

Hier geht es zur Produktseite!

WLAN-Störung nach Provider-Wechsel

Gerade haben wir einen ISP-Wechsel vorgenommen, um mit deutlich mehr Geschwindigkeit ins Netz zu kommen. Dabei kamen es allerdings bei Geräten, die sowohl im Netz des Routers des alten Providers als auch im Netz des neuen Routers waren, teilweise zu massiven Verbindungsproblemen. Zum einen wurden ständig Netze (vor allem unter Vista gedoppelt), zum anderen wurden einfach keine Adressen korrekt aufgelöst.

Das erste Problem erklärt sich dadurch, dass beide Subnetze (das alte und das neue) die gleiche Basis-IP hatten; da fiel es Windows schwer zu erkennen, in welchem Netz es nun unterwegs war und so erkannte es mal das eine , mal das andere und manchmal auch beide, obwohl jeweils immer nur eines verbunden war. Die Lösung hierfür bestand zum einen in der Konsolidierung der Netzwerke (Löschen und Zusammenfassen der erkannten Netzwerke) und der Vergabe unterschiedlicher Basis-IPs für die beiden Subnetze.

Das zweite Problem bestand in der falschen Übernahme eines Standard-Gateways in die IP-Konfiguration. Dadurch wurde schlicht und einfach die Auflösung von Adressen in anderen Netzwerken unmöglich gemacht.

Also beim nächsten Mal: Nicht einfach stöpseln, DHCP-Haken anschalten und loslegen, sondern Subnetze abgleichen und DHCP/IP-Konfiguration überprüfen und ggf. korrigieren.

4 Wochen Surface RT

Vier Wochen Surface und Windows RT haben gleich zwei meiner Geräte überflüssig gemacht: Android-Tablet und Win7-Netbook brauche ich nicht mehr – das Surface deckt für mich beides ab. Das Touch Cover ist vielleicht anfangs etwas ungewohnt gewesen, aber schnell habe ich es zu schätzen gelernt. Der Touch-Bildschirm reagiert angenehm und die neuen Gesten sind leicht verinnerlicht. Schnell mal eine Mitschrift in OneNote angefertigt oder die Wettervorhersage abgerufen, danach ein kleines Spielchen oder surfen im Netz – und die App-Variante des IE10 gefällt mir tatsächlich besser als die Desktop-Version.

Das Surface RT ist eine runde Sache, die Verarbeitung überzeugt und die Ausdauer kann sich sehen lassen; in der Regel vergeht bei gelegentlicher Nutzung eine Woche bevor ich den Akku wieder aufladen muss. Und selbst bei intensiven Spielereien, mehrere Stunden am Stück, hält das Gerät dabei immer noch zwei bis drei Tage. Die von Microsoft genannten 8 Stunden Dauernutzung erscheinen mir durchaus realistisch.

Bilder in Excel 2010 per VBA einfügen

Was bei Excel 2003 noch funktionierte

Call ActiveSheet.Pictures.Insert("C:\Temp\Image.jpg")

schlägt bei Excel 2010 fehl. Stattdessen muss hier Folgendes getan werden:

Dim targetRange as Range
Set targetRange = Range("B2")

Dim pictureShape as Shape
Set pictureShape = ActiveSheet.Shapes.AddPicture( _
    "C:\Temp\Image.jpg", _
    False, True, _
    targetRange.Left, _
    targetRange.Top, _
    targetRange.Width, _
    targetRange.Height)

Anschließend muss dann nur noch das neue Shape auf die gewünschte Größe skaliert werden.