Home
Themen
Angebote
Downloads
News & Blogs
    ZfS News
    .NET & C#
    ASP.NET & Sharepoint
    ADO.NET & Datenbanken
    Windows
    Lehre
    Blogs nach Personen
Informatiklandkarte
DBWorld Map
.NET Glossar
Wir über uns
Kontakt
Newsletter

News

Thursday, February 21, 2008

DreamSpark bietet kostenlos Microsoft-Software für Studenten  #

Seit zwei Tagen bietet Microsoft über DreamSpark allen Studenten kostenlosen Zugriff auf Entwickler- und Server-Software. Momentan sind auf DreamSpark
  • MS Visual Studio 2008,
  • MS Windows Server 2003,
  • MS Expression Studio und
  • XNA Game Studio 2.0
enthalten. Weitere Software soll in den nächsten Monaten folgen (z.B. SQL Server 2008, Windows Server 2008). Der Unterschied gegenüber dem schon lange bekannten Service MSDN AA (Academic Alliance) ist, dass über DreamSpark alle Studenten Zugriff auf die Software haben und nicht nur die von technischen Universitäten.

Wednesday, August 15, 2007

.NET Glossar-Gadget vom ZfS Aachen für BASTA! Innovation Award nominiert  #

Das ZfS Aachen entwickelte im Frühjahr diesen Jahres ein Sidebar-Gadget zum Zugriff auf das .NET Glossar des ZfS. Dieses Gadget ist auf sehr positive Resonanz gestoßen und wird von vielen Entwicklern eingesetzt. Aufgrund dessen wurde das Gadget nun für den BASTA! Innovation Award nominiert. Der BASTA! Innovation Award zeichnet Technologien, Forschungsthemen, Bücher oder Geschäftsideen aus, die einen Beitrag zur .NET-Welt leisten. Er ist insgesamt mit 20.000 EUR dotiert.

Friday, May 11, 2007

Sidebar Gadget für .NET-Glossar  #

Windows Vista bietet die Möglichkeit, am Rand des Desktops kleine Anwendungen (sogenannte Sidebar Gadgets) darzustellen. Diese Anwendungen basieren auf HTML und JavaScript und lassen sich somit mit relativ einfachen Mitteln selbst erstellen. In einem HowTo-Dokument zeigen wir Ihnen die wesentlichsten Schritte, die zur Erstellung eines Gadgets notwendig sind.

Als Beispiel haben wir ein Gadget für unser .NET-Glossar entwickelt. Damit können Sie direkt von Ihrem Desktop aus auf das Glossar zugreifen und die Bedeutung von Begriffen nachschlagen. Das .NET-Glossar-Gadget können Sie hier herunterladen.

 

Monday, March 12, 2007

Visual Studio 'Orcas' Preview verfügbar  #

Microsoft hat im Rahmen des "Community Technology Preview"-Programms eine Version der nächsten Visual Studio Version mit dem Codename "Orcas" verfügbar gemacht

CTP-Version von Visual Studio 'Orcas'

Das Programm wird als Virtual-PC-Image veröffentlicht und ist zwischen 650 MB und 6256 MB groß.

Visual Studio 'Orcas' liefert Unterstützung für Windows Vista und Office 2007. Weitere Highlights sind:

  • LINQ - "Language Integrated Query"
  • Unterstützung von C# 3.0
  • Neuerungen in ADO.NET
  • Unterstützung von C# Workflow Rules
  • Unterstützung von WPF (Windows Presentation Foundation) inklusive einem Designer
  • Unterstützung von WCF (Windows Communication Foundation) und WF (Workflow Foundation)

Visual Studio SP1 für Windows Vista  #

Microsoft hat das Servicepack 1 für Visual Studio 2005 für das Betriebssystem Vista veröffentlicht:

Visual Studio 2005 SP1 für Windows Vista

Bisher gab es nur eine Beta-Version. Diese muss vor Installation der engültigen Version deinstalliert werdenn.

Wednesday, January 17, 2007

Visual Studio 2005 Servicepack 1 verfügbar  #

Microsoft hat das erste Servicepack für Visual Studio 2005 veröffentlich. Es kann von den MSDN-Seiten heruntergeladen werden: Visual Studio 2005 SP1

Das Download des Servicepack ist nicht für User mit schmalen Bandbreiten empfehlenswert. In der Version für die Standard/Professional/Team-Server Editionen ist das SP1 stolze 431MB groß.

Es enthält mehr als 70 Verbesserungen, unter anderem kann der Code nun auch für die Core2Duo-Prozessoren optimiert werden.

Es gibt verschiedene Versionen des Servicepacks für die Express-Versionen, die Standard/Professional/Team-Server Editionen sowie für VS2005 unter Windows Vista. Das Servicepack für Vista liegt bisher jedoch nur in einer Beta-Version vor, es soll im Laufe des ersten Quartals als endgültige Version veröffentlicht werden.

Friday, November 24, 2006

Verzögertes Signieren von Assemblies oder wie man den Entwicklungsaufwand öffentlicher Assemblies reduziert  #

Delayed Signing bezeichnet eine Technik, um Assemblies teilweise zu signieren, z.B. wenn sich diese noch in der Entwicklungsphase befinden,
Beim Signieren eines Assemblies wird mit Hilfe eines öffentlichen und eines privaten Schlüssels zum einen das so genannte Public Key Token in das Manifest eines Assemblies geschrieben und zum anderen wird eine mit Hilfe des privaten Schlüssels erstellte digitale Signatur in den PE-Header des Assemblies eingetragen, die über den öffentlichen Schlüssel des Assemblies validiert werden kann. Zum Erstellen dieser digitalen Signatur benötigt man demnach das öffentliche/private Schlüsselpaar während zur Validierung dieser Signatur der öffentliche Schlüssel ausreicht.

Signierte Assemblies können in den Global Assembly Cache (GAC) installiert werden und andere .NET-Applikationen können über den Strong Name zudem die exakte Version dieses Assemblies einbinden und referenzieren. (weitere Infos zum Signieren von Assemblies finden sich im Beitrag vom 28.08.2006) Einmal signierte Assemblies können nicht mehr geändert werden, da sich die digitale Signatur nach der Änderung mit dem öffentlichen Schlüssel nicht mehr auflösen lässt. Mit anderen Worten können einmal signierte Assemblies nicht mehr geändert werden, ohne dass die digitale Signatur ihre Gültigkeit verliert oder – im Kontext des Entwicklungsprozesses - nach jeder Assembly-Änderung muss diese erneut digital signiert werden.
Um die Funktionalitäten des öffentlichen Assemblies aber bereits während des Entwicklungsprozesses zu testen ohne dabei fortlaufend das Assembly dem teilweise aufwändigen Prozess der Signierung zu unterziehen und damit auf den mitunter streng geheimen privaten Schlüssel zugreifen zu müssen, kann das Public Key Token über den Prozess des Delayed Signing eingebunden und ein Platzhalter für die digitale Signatur in den PE-Header des Assemblies eingetragen werden. So können Assemblies zu Testzwecken auch ohne digitale Signatur installiert und von anderen .NET Applikationen referenziert werden.

Vor dem offiziellen Release des Assemblies wird der Platzhalter dann schließlich durch die echte digitale Signatur ersetzt.
Um ein Assembly so zu signieren, sind im Wesentlichen die folgenden Schritte notwendig:

 

1. Compiler-Anweisungen über Attribute im Quelltext definieren

 

using System.Reflection;

 

[assembly:AssemblyKeyFile("keys.snk")]

[assembly:AssemblyDelaySignAttribute(true)]

 

Das erste Attribut AssemblyKeyFile ist auch bei der „normalen“ Signierung von Assemblies notwendig. Das Public Key Token des öffentlichen Schlüssels wird in das Manifest des Assemblies eingetragen.

Das zweite Attribut AssemblyDelaySignAttribute sorgt nun dafür, dass der Compiler Platz für die spätere digitale Signatur im PE-Header reserviert.

 

2. Das Assembly zur Skip Verification List hinzufügen, um die Verifizierung dieses Assemblies anhand der digitalen Signatur zu unterdrücken (z.B. mit dem Kommandozeilen-Werkzeug Strong Name Utility)

 

sn –Vr assemblyname.dll

 

In diesem Beispiel sorgt die Option –Vr dafür, dass das Assembly assemblyname.dll der Skip Verification List hinzugefügt wird.

Allerdings sollte man nicht allzu sorglos Assemblies dieser Liste hinzufügen. Ein schädliches Assembly könnte die Identität eines Assemblies aus dieser Liste vortäuschen und so ungewollt die Verifizierung umgehen.

 

Mit der Option -Vu können Assemblies wieder aus der Skip Verification List gelöscht werden:

 

sn –Vu assemblyname.dll

 

Hinweis: Eine Übersicht aller Optionen des Strong Name Tools erhalten Sie auf den MSDN-Seiten.

 

3. Nach Finalisierung des Assemblies die echte digitale Signatur einfügen.

 

sn –R assemblyname.dll keypair.snk

 

Schließlich erhält das Assembly vor der Auslieferung noch die echte digitale Signatur, die den Platzhalter ersetzt.

 

Friday, November 03, 2006

Webcast Refactoring unter VisualStudio 2005 Teil 1 verfügbar  #

Ab sofort ist ein neuer WebCast zum Thema Refactoring verfügbar.

Der Inhalt gliedert sich folgendermassen:

  • Was ist Refactoring?
  • Refactoring: “Rename …”
    • Umbenennung einer Methode
    • Umbenennen einer Klassenvariable
  • Refactoring: “Extract Method …”
    • Extrahieren einer Methode ohne Parameter
    • Extrahieren einer Methode mit einem Parameter

Friday, October 20, 2006

Den Überblick behalten mit dem online .NET-Glossar  #

Ab sofort hilft Ihnen unser .NET-Glossar, die Orientierung im Dschungel der Akronyme und Konzeptbegriffe zu behalten. Geläufige Akronyme, aber auch allgemeine Konzepte und Begriffe aus der IT- und .NET-Welt werden in diesem Glossar erläutert und mit Hintergrundinformationen angereichert.

Zusätzlich finden Sie an einigen Stellen auch Verweise auf weiterführende ZfS-Dokumente, die das Thema aufgreifen und vertiefen. Zum Download dieser Dokumente ist eine kostenlose Registrierung erforderlich.

Wir starten mit einer ersten, übersichtlichen Version und werden das Glossar schrittweise ausbauen und verfeinern.

Testen Sie jetzt unser .NET-Glossar!

 

 

Thursday, October 12, 2006

Neuer Webcast zum .NET-Sicherheitskonzept „Code Access Security“  #

In diesem Webcast erfahren Sie, welche grundlegenden Konzepte hinter der Code Access Security des .NET-Frameworks stecken und welche Schritte notwendig sind, um Ihre lokalen Sicherheitseinstellungen für verwaltete Applikationen anzupassen.

Dieser Webcast ist in unserem Downloadbereich für angemeldete Nutzer verfügbar.

Nutzen Sie unser Anmeldeformular, um sich kostenlos anzumelden. Sie haben dann uneingeschränkten Zugriff auf alle Dokumente und Beispielanwendungen aus unserem Downloadbereich!

 

Thursday, October 05, 2006

Neue Möglichkeiten mit Office 2007  #

Das neue Office 2007 Paket bietet neben neu konzipierten GUI-Elementen und einem neuen Look&Feel viele weitere Neuerungen, von denen ich heute eine der aus meiner Sicht interessantesten kurz vorstellen möchte.

Ab der neuen Office Version werden Dokumente zum ersten Mal standardmäßig in dem XML-basierten Datenformat OfficeXML gespeichert. In diesem Format gespeicherte Office-Dokumente bestehen aus einer Reihe von XML-Dateien und zugehörigen Projekt-Dateien (wie z.B. Bilder), die anschließend im Falle von z.B. Word 2007 als .docx oder .docm Dateien (ZIP-)komprimiert werden. Dieses neue, offene Datenformat vereinfacht z.B. die automatische Erstellung und Bearbeitung von Office-Dokumenten sowie deren Integration in die unternehmensweite Prozess-Landschaft. Ein weiterer Vorteil dieses neuen Speicherformats liegt in den Möglichkeiten, die z.B. durch Schemavalidierungen und Stylesheet-Transformationen gegeben sind. So lassen sich Office-Dokumente über entsprechende Tranformations-Regeln für prinzipiell fast beliebige Ausgabeformate automatisch aufbereiten.

Zusammen mit den Möglichkeiten, die sich aus der Integration eigener .NET-Assemblies (Stichwort: Visual Studio Tools für Office (VSTO)) in Office-Dokumente bzw. Applikationen ergeben (z.B. die Suche in lokalen Datenbanken aus einer Excel-Tabelle heraus), lassen sich hieraus zahlreiche interessante und zum Teil neue Nutzungsszenarien der Office-Applikationen entwickeln.

Wer die Office 2007 Beta-Version testen möchte, kann sich auf den Microsoft-Seiten bis zum 31. Oktober registrieren und gegen eine geringe Downloadgebühr herunterladen und testen. Die Beta-Version kann bis zum 01. Februar 2007 getestet werden.

 

Monday, August 28, 2006

Signierung eines Assemblies ohne Visual Studio  #

Mit dem Beitrag vom 22.08. „Signierung eines Assemblies mit dem Visual Studio 2005“ wurde gezeigt, wie Assemblies mit dem Visual Studio 2005 signiert werden können. Die Signierung von Assemblies ist eine notwendige Voraussetzung, um diese als Shared Assemblies in den Global Assembly Cache (GAC) installieren zu können, damit diese systemweit von allen .NET-Applikationen eingebunden werden können.

Selbstverständlich können Assemblies aber auch ohne VS 2005 signiert werden. Dazu sind die folgenden zwei Schritte notwendig:

 

  1. Erstellung eines Schlüsselpaares (öffentlicher und privater Schlüssel)
  2. Signierung des Assemblies unter Angabe der Schlüssel-Datei

 1. Erstellung eines Schlüsselpaares

 

Mit dem SDK wird die Anwendung Strong Name Utility mitgeliefert, die einen öffentlichen und einen privaten Schlüssel erstellt und in einer Datei abspeichert. Zur Generierung der beiden Schlüssel mit dieser Anwendung geben Sie als Kommandozeile den folgenden Befehl ein:

sn.exe –k keys.snk

Dies erzeugt im aktuellen Verzeichnis eine Datei keys.snk, die die Schlüssel enthält. Kopieren Sie diese Datei in Ihr Projekt-Stammverzeichnis.

Hinweis: Durch die Kommandozeile sn.exe –p keys.snk pubkey.snk erhalten Sie in der Datei keys.snk das Schlüsselpaar, während die Datei pubkey.snk lediglich den öffentlichen Schlüssel enthält. Dies kann hilfreich sein, falls Sie den öffentlichen Schlüssel einmal separat aus der Hand geben möchten.

 

2. Signieren des Assemblies

Über eine Attributangabe im Quellcode kann das Assembly nun signiert werden:

 

using System;

using System.Reflection;

 

[assembly:AssemblyKeyFile("keys.snk")] //<your keyFile-Name>

 

 

namespace ClassLibrary1

{

    public class MyFirstSharedAssembly

    {

      //some code here

    }

}

Das Attribut AssemblyKeyFile benötigt als Parameter den Pfad zur Datei, in der das Schlüsselpaar gespeichert wurde.

Hinweis: Weitere Informationen zur Erstellung, Installation und Nutzung von Shared Assemblies finden Sie auch in dem HowTo-Dokument „Erstellung und Installation eines Shared Assemblies“. Dieses Dokument ist nur für angemeldete Nutzer verfügbar. Nutzen Sie unser Anmeldeformular, um  sich kostenlos anzumelden. Sie haben dann uneingeschränkten Zugriff auf alle Dokumente und Beispielanwendungen aus unserem Downloadbereich!

 

Thursday, August 24, 2006

Windows-Programme über Dienst starten  #

Normalerweise haben Programme, die auf einem Server laufen, keine direkte grafische Benutzerschnittstelle und brauchen demnach auch weniger Ressourcen. Diese Anwendungen werden üblicherweise als Konsolen-Anwendungen erstellt. Bei einem unserer Kunden gibt es aber den Fall, dass auf dem Server Windows-Programme gestartet werden müssen, die das Backend einer Webanwendung sind. Für jeden Benutzer muss es eine eigene Instanz dieser Anwendung geben, in diesem Fall sollten mehrere hundert Benutzer gleichzeitig auf den Server zugreifen können. Eine Windows-Anwendung ist deswegen notwendig, da auf dem Server auch PDF-Dateien über die Druckfunktion erstellt werden sollen, und diese Funktion ist nur in "richtigen" Windows-Programmen verfügbar.

Wo liegt nun das Problem? Dienste und auch Programme, die durch Dienste gestartet werden, laufen in einem speziellen Kontext des Windows-Betriebssystems ab, in dem weniger Ressourcen zur Verfügung stehen, als im normalen Kontext eines angemeldeten Benutzers. Dieser Kontext setzt sich aus einem WindowStation-Objekt und einem Desktop-Objekt zusammen. Aufgrund der eingeschränkten Ressourcen konnten bei unserem Kunden nur ca. 60 Anwendungen gestartet werden, obwohl mehr als 300 erforderlich waren. Prinzipiell gibt es zwei Arten von WindowStations:
  • Interactive: für "interaktive" Desktops wie der Desktop eines Benutzer, Logon oder Screen-Saver
  • Noninteractive: für Dienste und Anwendungen, die durch Dienste gestartet werden
Über einen Eintrag in der Registry wird gesteuert, wie viele Ressourcen einem Desktop zur Verfügung stehen. Dieser Eintrag ist
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
und hat einen länglichen Eintrag zum Start des CSRSS-Prozess. Der wesentliche Teil ist der SharedSection-Parameter, der normalerweise so aussieht: SharedSection=1024,3072,512. Diese drei Werte geben an, wie viele Ressourcen (in KB) den Heaps der einzelnen Desktops zur Verfügung stehen. Im Heap eines Desktops werden die Referenzen zu allen GUI-Objekten wie Fenster, Menus usw. gespeichert. Der erste Wert ist die Größe eines "Shared Heap", der gemeinsam von allen Desktops benutzt wird. Der zweite Wert ist die Größe des Heaps für interaktive Desktops. In der Regel müssen diese beiden Werte nicht verändert werden. Interessant für uns ist der dritte Wert, der die Größe des Heaps für nicht-interkaktive Desktops angibt. Durch Vergrößern dieses Werts konnte das Problem unseres Kunden gelöst werden und es kann die erforderliche Zahl von Benutzern parallel auf die Anwendung zugreifen.

Weitere Informationen zum SharedSection-Parameter finden Sie in diesem Artikel der MSDN-KB.

Archiv

© 2008 Fraunhofer FIT - Powered by: newtelligence dasBlog 1.8.5223.2 - Sign In

Feeds: RSS 2.0 | Atom 1.0