Can’t uninstall Lightswitch for Visual Studio 2012 – Server Configuration without local SQL-Express

Kaum zu glauben, aber das installieren einer LigthSwitch Application kann ganz schön nerven aufreibend werden!

Auf einem frischen Windows Server 2008 R2 Enterprise SP1 habe ich die “Lightswitch for Visual Studio 2012 – Server Configuration without local SQL-Express” per Web Platform Installer zur Installation ausgewählt.

Danach lief alles autom. und fehlerfrei, auch wenn nun der Web Platform Installer anzeigt das “Lightswitch for Visual Studio 2012 – Server Configuration with local SQL-Express” ungefragt auf den Server kopiert wurden:

image

Als ich danach diverse Probleme während des deploments einer LightSwitch Application hatte wollte ich die “Lightswitch for Visual Studio 2012 – Server Configuration” entfernen und erneut installieren… die Vergangenheit zeigt das dann plötzlich Oh-Wunder! das ein oder andere Problem gelöst werden warZwinkerndes Smiley

Leider nicht hier! Denn seht selbst:

image

Da sind keine “Lightswitch for Visual Studio 2012 – Server Configuration” unter Progamme eingetragen?!?!? Was nun? Wie ist hier eine „Neuinstallation“ möglich?

Einfache Active Directory Validierung

Wer schon mit der eingebauten Userverwaltung von VS LightSwitch gearbeitet hat, kennt die bequeme Funktion das der eingegeben Name gegen das AD validiert-, und wenn erfolgreich, der Full Name komplettiert wird:

image

Der Screenshot zeigt die Userverwaltung von VS LightSwitch 2012, die Funktionalität gibt es aber auch in der “alten” Version.

Ich war auf der Suche nach der gleichen Funktionalität, sträubte mich aber davor für diesen Anwendungsfall extra einen RIA Service zu bauen. Nach ein wenig stöbern bin ich glücklicherweise auf folgende Methode gestoßen:

try
{
  Microsoft.LightSwitch.Security.WindowsUserInfo info = 
        this.DataWorkspace.SecurityData.GetWindowsUserInfo(Property1);
  YourNameColumn = info.FullName;
}
catch (Exception e)
{
  // handle exception
}

GetWindowsUserInfo macht hier das gewünschte Smiley Wer eine simple Active Directory Validierung benötigt und dafür nicht einen RIA Service anlegen möchte, sollte diese Methode versuchen.

Noch ein Hinweis: Der Anwender muss in der Gruppe “SecurityAdministration” sein! Ansonsten kommt es beim Aufruf zu einer Exception.

Excel Export verursacht Performance Probleme

Wer viele Daten ohne Paging mit Lightswitch anzeigen möchte, wird unter gewissen Umständen einen deutlichen Performance Einbruch bemerken:

… And the result was huge performance hit. Screen with 2600 records opened in 30 seconds. At first we thought that slowest part is SQL data retrieval, but when we looked in SQL Profiler, it showed that SQL request took only 1-2 seconds. During window opening there is network activity for approx. 3 seconds, then CPU usage goes up to 50 percent and stays there until screen fully loads. So, we think that the problem is with data serialization/deserialization or rendering.

OK, you could say: If you request so many records, of course, you have to wait a little longer. Okay, I agree. But waiting for screen to load is just one problem, even fully loaded screen with more than 50 records is laggy and scrolling is really slow. …

Im Microsoft eigenen Lightswitch Forum wird das in diesem Thread detailliert diskutiert: Unacceptable performance for more than 50 records.

Kurz zusammen gefasst ist die Ursache das Export to Excel Feature! Diese Funktion steht nur Desktop Anwendungen zur Verfügung. Daher ist auch nur dort der Performance Einbruch zu beobachten. Also einfach mal abschalten wenn es langsam wird!

Visual Studio Lightswitch zeigt meine DB Views nicht an?!

Das einbinden von Datenquellen (z.b. eine bestehende Datenbank) ist in Visual Studio sehr einfach möglich. Umso verwunderter ist man, wenn im nächsten Schritt nur einige oder keine Datenbank Views zu Auswahl angezeigt werden.

image

Was ist die Ursache?

VS Lightswitch 2011 zeigt nur Datenbank Views an, wenn diese einen Primary Key- oder mindestens eine Not Nullable Spalte enthalten (welche LS dann intern als Key nutzen kann). Alle anderen Views werden ohne weitere Meldung ausgeblendet.

Praxistauglicher fände ich den View als Readonly zu Kennzeichen, damit stände dem Einsatz nichts mehr im Wege. Leider hat Microsoft das anders gesehen Zwinkerndes Smiley

Welche Möglichkeiten hat man trotzdem an den VIEW zu kommen? Oft ist an eine Änderung des Views nicht zu denken, wenn z.b. eine Lightswitch Applikation auf einer bestehenden Datenbank basiert und der DB Admin nur ein müdes lächeln für den Änderungswunsch übrig hat…

Hier heißt die Lösung WCF RIA Services! Ein Beispiel folgt das nächste mal.