Posts on Sascha Dittmann https://www.sascha-dittmann.de/posts/ Recent content in Posts on Sascha Dittmann Hugo de-de Tue, 19 Apr 2011 12:13:00 +0100 Erste Schritte mit Windows Azure (Teil 2) – Der Table Storage https://www.sascha-dittmann.de/posts/erste-schritte-mit-windows-azure-der-table-storage/ Tue, 19 Apr 2011 12:13:00 +0100 https://www.sascha-dittmann.de/posts/erste-schritte-mit-windows-azure-der-table-storage/ <p>Im <a href="https://www.sascha-dittmann.de/posts/erste-schritte-mit-windows-azure-die-web-rolle">ersten Teil</a> dieser Blog Post Serie habe ich mich mit den Web Rollen in der Windows Azure Plattform beschäftigt.</p> <p>In diesem Teil wird die bisherige Beispielapplikation mit einer Repository- sowie einer Kontext-Klasse für den <em>Windows Azure Table Storage</em> erweitert.<br> Außerdem werden kleinere Anpassungen an den Datenmodellklassen durchgeführt, um die Arbeit mit den Objekten zu vereinfachen.</p> <h2 id="was-ist-der-table-storage">Was ist der Table Storage</h2> <p>Der Table Storage ist, aus meiner Sicht, die <a href="http://de.wikipedia.org/wiki/NoSQL">NoSQL</a> Antwort von Microsoft für die Windows Azure Plattform.</p> ADO.NET Entity Framework 4.1 verfügbar https://www.sascha-dittmann.de/posts/ado-net-entity-framework-4-1-verfuegbar/ Fri, 15 Apr 2011 16:56:00 +0100 https://www.sascha-dittmann.de/posts/ado-net-entity-framework-4-1-verfuegbar/ <p>Anfang dieser Woche hat das ADO.NET Team die RTW (Release to Web) Version des Entity Frameworks 4.1 auf seinem <a href="http://blogs.msdn.com/b/adonet/">Blog</a> bekannt gegeben.</p> <blockquote> <p>Die neuen Releases, die diese Woche verteilt werden, nehmen wohl kein Ende…</p> </blockquote> <h2 id="was-ist-neu">Was ist Neu?</h2> <h3 id="die-dbcontext-api">Die DbContext API</h3> <p>Die DbContext API ist eine Abstraktion der ObjectContext Klasse sowie weiterer Typen, die in den vorherigen Versionen des Entity Frameworks eingeführt wurden. Mit der DbContext API ist jetzt auch der Einsatz des Code First Musters möglich, das mit der letzten Entity Framework Version doch nicht mitgeliefert wurde. Die DbContext API kann in Database First, Model First und Code First Mustern eingesetzt werden.</p> ASP.NET MVC 3 Tools Update (April 2011) https://www.sascha-dittmann.de/posts/asp-net-mvc-3-tools-update-april-2011/ Fri, 15 Apr 2011 12:53:00 +0100 https://www.sascha-dittmann.de/posts/asp-net-mvc-3-tools-update-april-2011/ <p>Scott Guthrie hat, im Rahmen der <a href="https://en.wikipedia.org/wiki/MIX_(Microsoft)">MIX 2011</a>, ein Update der ASP.NET MVC 3 Tools für Visual Studio 2010 bekannt gegeben. Das Update kann entweder über die <a href="http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3">Web Platform Installer</a> oder direkt über die <a href="http://go.microsoft.com/fwlink/?LinkID=208140">Microsoft Download Seite</a> bezogen werden.</p> <h2 id="was-ist-neu">Was ist Neu?</h2> <ul> <li>Eine neue Intranet Projektvorlage, die keinen <em>AccountController</em> beinhaltet und anstatt der Forms Authentifizierung die Windows Authentifizierung voreingestellt hat.</li> <li>Eine &ldquo;Use HTML 5 semantic markup&rdquo; Checkbox, die HTML 5 für die Projekterzeugung verwendet.</li> <li>Der &ldquo;Add Controller&rdquo; Dialog kann nun vollautomatische die <a href="http://de.wikipedia.org/wiki/CRUD">CRUD</a> Kontroller Actions, eine Datenbank Kontext Klasse sowie die zugehörigen Views erzeugen. Standardmäßig wird hierbei Entity Framework Code First genutzt.</li> <li>Die <a href="http://visualstudiogallery.msdn.microsoft.com/en-us/27077b70-9dad-4c64-adcf-c7cf6bc9970c/file/37502/5/NuGet.Tools.vsix">NuGet 1.2</a> Erweiterung ist eine Voraussetzung für die neuen ASP.NET MVC 3 Tools.</li> <li>Falls diese nicht bereits installiert ist, wird dies durch das Update erledigt.</li> <li>Im &ldquo;Add Controller&rdquo; Dialog können nun eigene Scaffold Erweiterungen (via NuGet) verwendet werden, wie z.B. <a href="http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/">MvcScaffolding</a>.</li> <li>JavaScript Bibliotheken, die in den Projektvorlagen verwendet wurden, können mittels NuGet aktuallisiert werden.</li> <li>Die <a href="http://modernizr.com/">Modernizr 1.7</a> Bibliothek wird (via NuGet) in die Projekte eingefügt.</li> <li>Modernizr ist eine kleine, einfache JavaScript Bibliothek, die eine Abwärtskompatibilität für CSS 3 und HTML 5 für ältere Browser bereit stellt.</li> <li>Das <a href="http://nuget.org/List/Packages/EntityFramework">Entity Framework 4.1</a> wird (via NuGet) in die Projekten eingefügt.</li> <li>Sowie weitere kleinere Änderungen und Bug Fixes.</li> </ul> <p>Weitere Informationen: <a href="http://haacked.com/archive/2011/04/12/introducing-asp-net-mvc-3-tools-update.aspx">Blog Post von Phil Haack</a></p> Windows Azure Toolkit für Windows Phone 7 – Version 1.1.0 – veröffentlicht https://www.sascha-dittmann.de/posts/windows-azure-toolkit-fuer-windows-phone-7-version-1-1-0-veroeffentlicht/ Thu, 14 Apr 2011 12:48:00 +0100 https://www.sascha-dittmann.de/posts/windows-azure-toolkit-fuer-windows-phone-7-version-1-1-0-veroeffentlicht/ <p>Vor wenigen Tagen wurde ein neues Release des Windows Azure Toolkits für Windows Phone 7 veröffentlicht.</p> <p>Die Version 1.1.0 enthält folgende Neuerungen:</p> <ul> <li>Senden von Raw-, Tile- und Toast–Push Notifications</li> <li>Erzeugung von Push Notification Nachrichten aus Web Applikationen</li> <li>Identity Tokens können im Isolated Storage gespeichert werden</li> <li>Neue Benutzer haben automatisch Zugriff auf den Blob- und Table Storage</li> <li>Sowie einige Bug Fixes</li> </ul> <h1 id="download">Download</h1> <ul> <li><a href="http://watoolkitwp7.codeplex.com/releases/view/61952">Windows Azure Toolkit für Windows Phone 7 – Version 1.1.0</a></li> </ul> Windows Azure Plattform Kontingente geändert https://www.sascha-dittmann.de/posts/windows-azure-plattform-kontingente-geaendert/ Thu, 14 Apr 2011 12:04:00 +0100 https://www.sascha-dittmann.de/posts/windows-azure-plattform-kontingente-geaendert/ <p>Seit dem 12. April 2011 gelten folgende neue Inklusiv-Kontingente für die Windows Azure Plattform.</p> <h2 id="für-msdn-abonnenten">Für MSDN Abonnenten</h2> <table> <thead> <tr> <th colspan=2 style="text-align: center;">Vorheriges Angebot<span style="font-size: xx-small;">*</span></th> <th colspan=3 style="text-align: center;">Angebot ab dem 12. April 2011</th> </tr> <tr> <th>Dienstleistungen</th> <th>Ultimate, Premium & BizSpark<span style="font-size: xx-small;">*</span></th> <th>Ultimate<br/>BizSpark</th> <th>Premium</th> <th>Professional</th> </tr> </thead> <tbody> <tr> <td><b>Windows Azure<br/>Rechenzeit</b></td> <td>Kleine Instanz<br/>750 Std. / Monat</td> <td>Kleine Instanz<br/>1.500 Std. / Monat</td> <td>Extra Kleine Instanz<br/>1.500 Std. / Monat</td> <td>Extra Kleine Instanz<br/>750 Std. / Monat</td> </tr> <tr> <td><b>Speicherplatz</b></td> <td>10 GB</td> <td>30 GB</td> <td>25 GB</td> <td>20 GB</td> </tr> <tr> <td><b>Speichertransaktionen</b></td> <td>1.000.000 / Monat</td> <td>2.000.000 / Monat</td> <td>1.000.000 / Monat</td> <td>250.000 / Monat</td> </tr> <tr> <td><b>SQL Azure</b></td> <td>5 GB<br/>(Web Edition)</td> <td>5 GB<br/>(Web Edition)</td> <td>1 GB<br/>(Web Edition)</td> <td>1 GB<br/>(Web Edition)</td> </tr> <tr> <td><b>AppFabric<br/>Service Bus Verb.</b></td> <td>5</td> <td>5</td> <td>5</td> <td>2</td> </tr> <tr> <td><b>AppFabric<br/>Access Control</b></td> <td>1.000.000 / Monat</td> <td>500.000 / Monat</td> <td>200.000 / Monat</td> <td>100.000 / Monat</td> </tr> <tr> <td><b>Transfer Volumen</br>(eingehend)</b></td> <td>7 GB (NA / Europa)</br>5 GB (Asien)</td> <td>35 GB</br>(Weltweit)</td> <td>30 GB</br>(Weltweit)</td> <td>25 GB</br>(Weltweit)</td> </tr> <tr> <td><b>Transfer Volumen</br>(ausgehend)</b></td> <td>14 GB (NA / Europa)</br>5 GB (Asien)</td> <td>35 GB</br>(Weltweit)</td> <td>30 GB</br>(Weltweit)</td> <td>25 GB</br>(Weltweit)</td> </tr> <tr> <td colspan=5 style="font-size: xx-small;">* MSDN Premium Abonnenten, die bereits dieses Angebot nutzen, werden auf den neuen Ultimate Tarif umgestellt.</td> </tr> </tbody> </table> <p>Mehr Informationen unter:<br> <a href="http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx">Windows Azure Platform Benefits for MSDN Subscribers</a></p> Trace Meldungen aus den Windows Azure Web Rollen im Compute Emulator anzeigen lassen https://www.sascha-dittmann.de/posts/trace-meldungen-aus-den-windows-azure-web-rollen-im-compute-emulator-anzeigen-lassen/ Thu, 14 Apr 2011 07:12:00 +0100 https://www.sascha-dittmann.de/posts/trace-meldungen-aus-den-windows-azure-web-rollen-im-compute-emulator-anzeigen-lassen/ <p>Trace Meldungen aus den Windows Azure Web Rollen werden standardmäßig nicht im Windows Azure Compute Emulator angezeigt. Wie folgende Konsolenausgabe dennoch möglich ist, werde ich anhand eines Beispiels zeigen.</p> <p><img src="https://storage.googleapis.com/cloud-blog/media/2011/04/AzureWebRoleTrace03.png" alt="Windows Azure Compute Emulator UI"></p> <h2 id="die-beispielapplikation">Die Beispielapplikation</h2> <p>Die Beispielapplikation besteht aus einem ASP.NET Web Role Projekt mit nur einer Web Form (Default.aspx):</p> <p><img src="https://storage.googleapis.com/cloud-blog/media/2011/04/AzureWebRoleTrace01.png" alt="DiagnosticsDemo - Default.aspx"></p> <p>Der Event Handler des Buttons enthält einen Trace Aufruf, der den Inhalt der TextBox und das aktuelle Datum inkl. Uhrzeit anzeigt:</p> Erste Schritte mit Windows Azure (Teil 1) – Die Web Rolle https://www.sascha-dittmann.de/posts/erste-schritte-mit-windows-azure-die-web-rolle/ Wed, 13 Apr 2011 16:43:00 +0100 https://www.sascha-dittmann.de/posts/erste-schritte-mit-windows-azure-die-web-rolle/ <p>Wie ich schon in meinem Blog Post &ldquo;<a href="https://www.sascha-dittmann.de/posts/die-windows-azure-plattform">Die Windows Azure Plattform</a>&rdquo; festgestellt habe, wird diese in der deutschen Entwicklergemeinde noch recht stiefmütterlich behandelt.</p> <p>Diese Blog Post Serie soll dabei helfen die Grundlagen von Windows Azure besser zu verstehen.<br> In diesem, sowie in den kommenden Blog Posts, stelle ich die Grundlagen der Softwareentwicklung mit der Windows Azure Plattform vor. Beginnen möchte ich mit dem Konstrukt &ldquo;Web Roles&rdquo;. Außerdem werde ich die Beispielapplikation der Blog Serie Form kurz vorstellen.</p> Failed to initialize Windows Azure storage emulator https://www.sascha-dittmann.de/posts/failed-to-initialize-windows-azure-storage-emulator/ Wed, 23 Mar 2011 20:56:00 +0100 https://www.sascha-dittmann.de/posts/failed-to-initialize-windows-azure-storage-emulator/ <p>Ein gängiges Problem mit den Windows Azure Tools kann beim ersten Start des Storage Emulators auftreten.</p> <p>Standardmäßig nutzt der Windows Azure Storage Emulator den lokalen SQL Server Express mit dem Instanznamen &ldquo;SQLExpress&rdquo;. Da aber nicht jeder Entwickler PC einen SQL Server Express mit dieser benannten Instanz verwendet, sondern zum Beispiel die SQL Server Developer Edition mit der Standardinstanz installier hat, führt dies dann zu folgender Fehlermeldung:</p> <p><img src="https://storage.googleapis.com/cloud-blog/media/2011/03/AzureToolsInstall_01.png" alt="Failed to initialize Windows Azure storage emulator"></p> Das Windows Azure Gewinnspiel geht in die nächste Runde https://www.sascha-dittmann.de/posts/das-windows-azure-gewinnspiel-geht-in-die-naechste-runde/ Tue, 22 Mar 2011 17:55:00 +0100 https://www.sascha-dittmann.de/posts/das-windows-azure-gewinnspiel-geht-in-die-naechste-runde/ <p>Microsoft Deutschland veranstaltet wieder einmal ein Gewinnspiel zum Thema Windows Azure unter dem Namen &ldquo;Get in the cloud with Windows Azure&rdquo;</p> <p>Für die Teilnahme muss eine vorgefertigte Anwendung in die Cloud hochgeladen und gestartet werden. Über diese werden dann die Teilnehmerdaten übermittelt. Dafür können Interessierte einen kostenlosen 30-Tage Testzugang für Windows Azure nutzen oder als Inhaber einer MSDN Subscription ihr Freikontingent einsetzen. Chancenerhöhend wirken zudem Freundschaftswerbungen.</p> <h2 id="was-gibt-es-zu-gewinnen">Was gibt es zu Gewinnen?</h2> <table> <tbody> <tr> <td><figure class="gallery__image"> <img src="https://storage.googleapis.com/cloud-blog/media/2011/03/wp7-small.jpg" loading="lazy" alt="Windows Phone 7"> </figure></td> <td><figure class="gallery__image"> <img src="https://storage.googleapis.com/cloud-blog/media/2011/03/xbox-360-small.png" loading="lazy" alt="Xbox 360"> </figure></td> <td><figure class="gallery__image"> <img src="https://storage.googleapis.com/cloud-blog/media/2011/03/vs2010-prof-small.png" loading="lazy" alt="Visual Studio 2010"> </figure></td> </tr> <tr> <td>5 x ein aktuelles Windows Phone 7 Smartphone</td> <td>5 x Xbox 360 mit Kinect und Kinect Adventures</td> <td>10 x Visual Studio 2010 Professional</td> </tr> </tbody> </table> <p>Teilnahmeschluss ist der 13.05.2011.</p> Installation der Windows Azure Entwicklungsumgebung https://www.sascha-dittmann.de/posts/installation-der-windows-azure-entwicklungsumgebung/ Tue, 22 Mar 2011 16:33:00 +0100 https://www.sascha-dittmann.de/posts/installation-der-windows-azure-entwicklungsumgebung/ <p>Um für die Windows Azure Plattform Software entwickeln zu können, benötigt meine eine Reihe von Tools und Betriebssystemeinstellungen, die ich in diesem Post einmal vorstellen möchte.</p> <h2 id="voraussetzungen">Voraussetzungen</h2> <p>Als Erstes sollte man sich ein Konto für die Windows Azure Plattform erstellen.</p> <p>Wer eine <a href="https://visualstudio.microsoft.com/de/subscriptions/">MSDN Subscription Premium oder Ultimate</a> besitzt, genießt bereits ein freies Kontingent für die Windows Azure Plattform:</p> <table> <thead> <tr> <th colspan=3 style="text-align: center;">Dienstleistungen für Premium, Ultimate &amp; BizSpark</th> </tr> </thead> <tbody> <tr> <td rowspan=3>Windows Azure</td> <td>Kleine Serverinstanzen</td> <td>750 Stunden / Monat</td> </tr> <tr> <td>Speicherplatz</td> <td>10 GB</td> </tr> <tr> <td>Speichertransaktionen</td> <td>1.000.000 / Monat</td> </tr> <tr> <td rowspan=2>AppFabric</td> <td>Service Bus Verbindungen</td> <td>5 / Monat</td> </tr> <tr> <td>Access Control Transaktionen</td> <td>1.000.000 / Monat</td> </tr> <tr> <td>SQL Azure</td> <td>&ldquo;Web Edition&rdquo; Datenbanken (1 GB)</td> <td>3</td> </tr> <tr> <td rowspan=4>Transfer Volumen</td> <td rowspan=2>Europa und Nord Amerika</td> <td>7 GB in / Monat</td> </tr> <tr> <td>14 GB out / Monat</td> </tr> <tr> <td rowspan=2>Asia Pacific</td> <td>2.5 GB in / Monat</td> </tr> <tr> <td>5 GB out / Monat</td> </tr> </tbody> </table> <p>Mehr Informationen unter:<br> <a href="http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx">Windows Azure Platform Benefits for MSDN Subscribers</a></p> Windows Azure Tools 1.4 verfügbar https://www.sascha-dittmann.de/posts/windows-azure-tools-1-4-verfuegbar/ Thu, 10 Mar 2011 07:34:00 +0100 https://www.sascha-dittmann.de/posts/windows-azure-tools-1-4-verfuegbar/ <p>Seid Gestern ist ein neues Release der Windows Azure Tools, sowie der Windows Azure SDK, für Microsoft Visual Studio 2010 verfügbar. Dieses Update konzentriert sich hauptsächlich auf die Features <a href="http://www.microsoft.com/windowsazure/virtualnetwork/default.aspx">Windows Azure Connect</a> und <a href="http://msdn.microsoft.com/en-us/library/ff919705.aspx">Windows Azure Content Delivery Network (CDN)</a>. Außerdem wurde das Remote Desktop für Windows Azure Rollen erweitert und dessen Stabilität verbessert.</p> <p>Hier die Feature Übersicht:</p> <h2 id="windows-azure-connect">Windows Azure Connect</h2> <ul> <li>Verwaltung mehrerer Administratoren in der Admin UI.</li> <li>Geänderte Client UI mit verbesserten Status Meldungen und Diagnose Möglichkeiten.</li> <li>Windows Azure Connect kann jetzt auch auf Nicht-Englischen Windows Versionen installiert werden.</li> </ul> <h2 id="windows-azure-cdn">Windows Azure CDN</h2> <h3 id="windows-azure-cdn-für-hosted-services">Windows Azure CDN für Hosted Services</h3> <p>Entwickler können nun Windows Azure Web und VM Rollen als Quelle für das Windows Azure CDN nutzen. Somit können statische Inhalte der Webseiten an verschiedenen Orten in den Vereinigten Staaten, Europa, Asien, Australien und Südamerika zwischengespeichert werden. Damit kann eine maximale Bandbreite und niedrige Ladezeiten gewährleistet werden.</p> Die Windows Azure Plattform https://www.sascha-dittmann.de/posts/die-windows-azure-plattform/ Fri, 04 Mar 2011 12:18:00 +0100 https://www.sascha-dittmann.de/posts/die-windows-azure-plattform/ <p>Die Windows Azure Plattform hatte ihren offiziellen Start vor etwas mehr als einem Jahr (1. Feb. 2010). Leider muss ich aber immer wieder feststellen, dass wenige Kunden und Entwickler wissen, was Windows Azure eigentlich ist. Immer wieder komme ich in Situationen wo Sätze, wie z.B. &ldquo;Das können Sie Intern, bei einem ISP oder auf Windows Azure betreiben.&rdquo; oder &ldquo;Hast Du schon mal mit Windows Azure experimentiert?&rdquo;, Fragezeichen in den Gesichtern hervorrufen.</p> SQL Server Closeup #7: Internals Viewer SSMS Add-In https://www.sascha-dittmann.de/posts/internals-viewer-ssms-add-in/ Mon, 28 Feb 2011 09:25:00 +0100 https://www.sascha-dittmann.de/posts/internals-viewer-ssms-add-in/ <p>Vor einer Weile bin ich bei meinen SQL Server Internals Recherchen über ein nettes Tool mit dem Namen <strong>Internals Viewer</strong> gestolpert, dass ich in diesem Posting näher vorstellen möchte.</p> <p>In der aktuellen Version wurde die externe Applikation in das SQL Server Management Studio als Add-In integriert.<br> Nach der Installation erkennt man auf den ersten Blick &ldquo;nur&rdquo; ein weiteres Menü im SSMS:</p> <p><img src="https://storage.googleapis.com/cloud-blog/media/2011/02/SQLCloseup_007_01.png" alt="Internals Viewer Menü"></p> <p>Wenn man sich allerdings den Menüpunkt Allocation Map zu Gemüte führt, dann bekommt man, nachdem man sich zu einem SQL Server verbunden hat, eine grafische Übersicht über die Pages der ausgewählten Datenbank.</p> SQL Server Closeup #6: Ghost Data Records unter der Lupe https://www.sascha-dittmann.de/posts/ghost-data-records-unter-der-lupe/ Sat, 26 Feb 2011 12:41:00 +0100 https://www.sascha-dittmann.de/posts/ghost-data-records-unter-der-lupe/ <p>Nachdem in den letzten Postings der &ldquo;SQL Server Closeup&rdquo; Serie viel Theorie an der Reihe war, werden wir heute die Ghost Data Records einmal &ldquo;Live&rdquo; unter die Lupe nehmen.</p> <p>Hierzu benötigen wir natürlich als erstes eine Datenbank und eine Tabelle.</p> <p>Das Skript sieht hierfür wie folgt aus:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="n">USE</span><span class="w"> </span><span class="p">[</span><span class="n">master</span><span class="p">]</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">GO</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">IF</span><span class="w"> </span><span class="n">DATABASEPROPERTY</span><span class="p">(</span><span class="s1">&#39;SQLServerCloseup&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Version&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">BEGIN</span><span class="w"> </span><span class="k">ALTER</span><span class="w"> </span><span class="k">DATABASE</span><span class="w"> </span><span class="p">[</span><span class="n">SQLServerCloseup</span><span class="p">]</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">SINGLE_USER</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">ROLLBACK</span><span class="w"> </span><span class="k">IMMEDIATE</span><span class="p">;</span><span class="w"> </span><span class="k">DROP</span><span class="w"> </span><span class="k">DATABASE</span><span class="w"> </span><span class="p">[</span><span class="n">SQLServerCloseup</span><span class="p">];</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">END</span><span class="p">;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">GO</span><span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="k">DATABASE</span><span class="w"> </span><span class="n">SQLServerCloseup</span><span class="p">;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">GO</span><span class="w"> </span><span class="n">USE</span><span class="w"> </span><span class="p">[</span><span class="n">SQLServerCloseup</span><span class="p">];</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">GO</span><span class="w"> </span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">[</span><span class="n">dbo</span><span class="p">].[</span><span class="n">Produkte</span><span class="p">]</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="p">(</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="p">[</span><span class="n">ProduktID</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="nb">int</span><span class="p">]</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="p">[</span><span class="n">ProduktBezeichnung</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="nb">varchar</span><span class="p">](</span><span class="mi">50</span><span class="p">)</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="k">CONSTRAINT</span><span class="w"> </span><span class="p">[</span><span class="n">PK_Produkte</span><span class="p">]</span><span class="w"> </span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="n">CLUSTERED</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="p">(</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="p">[</span><span class="n">ProduktID</span><span class="p">]</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="p">)</span><span class="w"> </span></span></span></code></pre></div><p>Nachdem nun eine Tabelle zum Testen existiert, können Datensätze hinzugefügt und gelöscht werden.</p> SQL Server Closeup #5: Undokumentierter SQL Befehl DBCC PAGE https://www.sascha-dittmann.de/posts/undokumentierter-sql-befehl-dbcc-page/ Wed, 23 Feb 2011 17:19:00 +0100 https://www.sascha-dittmann.de/posts/undokumentierter-sql-befehl-dbcc-page/ <p>In diesem Posting möchte ich einen weiteren undokumentierten Befehl des SQL Servers vorstellen.<br> Heute ist der Befehl DBCC PAGE an der Reihe, mit dessen Hilfe man den Inhalt einer Page darstellen kann.</p> <p>Da standardmäßig der SQL Server die Ergebnisse des DBCC PAGE nicht an den Client sendet, muss vor dessen Verwendung das Trace Flag 3604 gesetzt werden, um dies zu ändern:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="n">DBCC</span><span class="w"> </span><span class="n">TRACEON</span><span class="p">(</span><span class="mi">3604</span><span class="p">)</span><span class="w"> </span></span></span></code></pre></div><p>Da hierbei nichts gravierendes im SQL Server geändert wird, kann dieser Befehl auch auf Produktivsystemen angewendet werden.</p> Silverlight 4 Update (Februar 2011) https://www.sascha-dittmann.de/posts/silverlight-4-update-februar-2011/ Wed, 16 Feb 2011 16:00:00 +0100 https://www.sascha-dittmann.de/posts/silverlight-4-update-februar-2011/ <p>Am letzten Montag wurde mal wieder ein Update für Silverlight 4 veröffentlicht (Build 4.0.60129.0).</p> <p>Das Update beseitigt unter anderem folgende Probleme:</p> <ul> <li>Zeitstempel Problem bei der Medienwiedergabe mit dem VC-1 Codec</li> <li>Visual Studio IDE Absturz, während des Profilings einer Silverlight Anwendung mit Pixel Shader Effekt</li> <li>Silverlight konnte nicht auf 64-Bit-Versionen von Mozilla Firefox für Mac OS X ausgeführt werden</li> <li>Ein &ldquo;6207&rdquo; DRM-Fehler konnte auftreten, nach der Aktualisierung von Silverlight</li> <li>Memory Leak bei der Benutzung eines inline Data Templates eines Controls</li> <li>Das Update einer Out-Of-Browser Anwendungen schlug fehl, wenn der Applikationsname geändert wurde</li> <li>Fehler beim Abspielen von Mediastreams, die eine Umleitung enthielten</li> <li>Die Netzwerklatenz wurde um bis zu 90 % verbessert (<a href="http://support.microsoft.com/kb/2505882">KB2505882</a>)</li> </ul> <p>Mehr Informationen unter <a href="http://support.microsoft.com/kb/2495644">KB2495644</a>.</p> SQL Server Closeup #4: Undokumentierter SQL Befehl DBCC IND https://www.sascha-dittmann.de/posts/undokumentierter-sql-befehl-dbcc-ind/ Fri, 11 Feb 2011 18:13:00 +0100 https://www.sascha-dittmann.de/posts/undokumentierter-sql-befehl-dbcc-ind/ <p>In den Tiefen des SQL Servers findet sich so mancher undokumentierter Befehl. Unter anderem gibt es eine Reihe von DBCC Befehlen, die einen Blick unter die Haube des SQL Servers erlauben.</p> <p>In diesem Posting möchte ich den SQL Befehl DBCC IND vorstellen, mit dessen Hilfe man einen Überblick über die Pages einer Datenbank ausgeben kann.</p> <p>Dieser Befehl gilt als Sicher und kann auch in Produktivumgebungen eingesetzt werden. Im Gegensatz zu anderen undokumentierten DBCC Befehlen, wie z.B. DBCC PAGE, muss bei DBCC IND nicht das Traceflag 3604 (Umleitung der Trace Ausgabe auf den Client) gesetzt werden, damit man eine Anzeige erhält.</p> SQL Server Closeup #3: Strukturen zur Speicherung von Daten – Speicherplatzverwaltung https://www.sascha-dittmann.de/posts/strukturen-zur-speicherung-von-daten-speicherplatzverwaltung/ Thu, 10 Feb 2011 20:10:00 +0100 https://www.sascha-dittmann.de/posts/strukturen-zur-speicherung-von-daten-speicherplatzverwaltung/ <p>Mit diesem Teil der &ldquo;SQL Server Closeup&rdquo; Serie schließe ich den Theorieteil der Strukturen zur Speicherung von Daten in der SQL Server Storage Engine ab.</p> <p>Heutiges Thema soll die Speicherplatzverwaltung, also das Allocation System, sein.</p> <h2 id="was-sind-extents">Was sind Extents</h2> <p>Extents sind ein logisches Konstrukt, dass 8 aufeinanderfolgende Pages gruppiert. Dies soll dazu dienen die Speicherverwaltung effizienter zu machen, indem auf den Speicherübersichtseiten (Allocation Bitmaps und Bytemaps), welche in regelmäßigen Intervallen angelegt werden, die Informationen pro Extent und nicht pro Page gespeichert werden.</p> Windows Phone Developer Tools Update (January 2011) https://www.sascha-dittmann.de/posts/windows-phone-developer-tools-update-january-2011/ Sun, 06 Feb 2011 15:38:00 +0100 https://www.sascha-dittmann.de/posts/windows-phone-developer-tools-update-january-2011/ <p>Um die selbstentwickelte Software für das kommende Update für die Windows Phone 7 Geräte testen und ggf. anpassen zu können, hat Microsoft ein Update für die Windows Phone Developer Tools veröffentlicht.<br> Die wichtigste Neuerung wird wohl die Copy&amp;Paste Funktionalität sein.</p> <p>Copy&amp;Paste wird überall dort automatisch verfügbar sein, wo TextBox-Controls eingesetzt werden. Die Auswahl des zu kopierenden Textes erfordert dabei eine horizontale Fingergeste. Wenn der Entwickler nicht aufgepasst hat, kann diese mit horizontalen &ldquo;Wisch&rdquo;-Gesten in Konflikt kommen, die beispielsweise in Panorama- oder Pivot-Controls verwendet werden.</p> SQL Syntax: @variable = column = expression https://www.sascha-dittmann.de/posts/sql-syntax-variable-column-expression/ Wed, 02 Feb 2011 07:58:00 +0100 https://www.sascha-dittmann.de/posts/sql-syntax-variable-column-expression/ <p>Fast jeder Datenbankentwickler hat bereits seine Erfahrungen mit Benutzerdefinierten Sequenzen, Künstlichen Schlüsseln (engl. Surrogate Keys) oder ähnlichen Mechanismen sammeln können.</p> <p>In solchen Fällen bekommt eine Spalte einen neuen Wert zugewiesen, und dieser Wert wird anschließend weiterverarbeitet.</p> <p>Dies möchte ich an folgenden Beispiel zeigen:</p> <ul> <li>In einer Lagerverwaltung soll der Bestand eines Artikels verändert werden können.</li> <li>Der neue Lagerbestand wird anschließend mittels Ausgabeparameter zurückgegeben.</li> </ul> <h1 id="der-klassische-lösungsansatz">Der klassische Lösungsansatz</h1> <p>Beim klassischen Lösungsansatz werden zwei SQL Befehle, die in einer expliziten Transaktion eingebettet sind, verwendet.</p> SQL Server Closeup #2: Strukturen zur Speicherung von Daten – Pages https://www.sascha-dittmann.de/posts/strukturen-zur-speicherung-von-daten-pages/ Mon, 31 Jan 2011 16:45:00 +0100 https://www.sascha-dittmann.de/posts/strukturen-zur-speicherung-von-daten-pages/ <p>Im den ersten Postings der &ldquo;SQL Server Closeup&rdquo; Serie möchte ich einen Überblick über die Strukturen zur Speicherung von Daten in der SQL Server Storage Engine geben.</p> <p>Im vorherigen Teil war das Thema Records an der Reihe. Hier wurden die verschiedenen Typen von Records sowie am Beispiel des Data Records die Struktur der Records beleuchtet. Dieses Mal werde ich mich dem Thema &ldquo;Pages&rdquo; widmen.</p> <h2 id="welche-typen-von-pages-gibt-es">Welche Typen von Pages gibt es?</h2> <h3 id="data-page">Data Page</h3> <p>Speichert ausschließlich Data Records.<br> Entweder als Heap oder als Blattknoten eines Index.</p> Anzahl der Tabellenzeilen schnell und einfach abfragen https://www.sascha-dittmann.de/posts/anzahl-der-tabellenzeilen-schnell-und-einfach-abfragen/ Sun, 30 Jan 2011 13:21:00 +0100 https://www.sascha-dittmann.de/posts/anzahl-der-tabellenzeilen-schnell-und-einfach-abfragen/ <h2 id="der-klassische-ansatz">Der klassische Ansatz</h2> <p>Die Fragestellung &ldquo;Wie viele Zeilen hat diese Tabelle&rdquo; taucht wohl bei jedem Entwickler immer mal wieder auf.</p> <p>Die Standardantwort lautet dann:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SELECT</span><span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="p">[</span><span class="n">dbo</span><span class="p">].[</span><span class="n">Tabelle</span><span class="p">]</span><span class="w"> </span></span></span></code></pre></div><p>Allerdings können hierbei zwei Probleme auftreten:</p> <ol> <li>Der SQL Server muss zum Bearbeiten dieser Abfrage einen Table-Scan durchführen. Das kann bei Tabellen mit mehreren Millionen Datensätzen eine Weile dauern.</li> <li>Man kann mit dieser Abfrage nur jeweils eine Tabelle gleichzeitig abfragen. Was macht man aber, wenn man die Zeilenanzahl aller Tabellen einer Datenbank bestimmen möchte?</li> </ol> <p>Um das erste Problem zu lösen, kann man die Gespeicherte Prozedur sp_spaceused verwenden.<br> Ohne Parameter ausgeführt, zeigt diese den Speicherverbrauch der aktuellen Datenbank an.<br> Mit einem Tabellennamen als Parameter, wird der Speicherverbrauch der Tabelle inkl. Zeilenanzahl zurückgegeben.</p> SQL Server Closeup #1: Strukturen zur Speicherung von Daten – Records https://www.sascha-dittmann.de/posts/strukturen-zur-speicherung-von-daten-records/ Tue, 11 Jan 2011 12:34:00 +0100 https://www.sascha-dittmann.de/posts/strukturen-zur-speicherung-von-daten-records/ <p>Im den ersten Postings der &ldquo;SQL Server Closeup&rdquo; Serie möchte ich einen Überblick über die Strukturen zur Speicherung von Daten in der SQL Server Storage Engine geben. In diesem Teil werde ich mich dem Thema &ldquo;Records&rdquo; widmen.</p> <p>In dieser Serie werde ich oft die englischen Originalbegriffe verwenden bzw. mit angeben, um Übersetzungsfehler zu vermeiden und auch konsistent mit den Meldungen des SQL Servers zu sein.</p> <h2 id="ein-paar-grundbegriffe-vorab">Ein paar Grundbegriffe vorab</h2> <p>Zum besseren Verständnis möchte ich einige Begrifflichkeiten stark vereinfacht erklären, die im weiteren Verlauf dieser Serie detailierter beschrieben werden.</p> Neue Post-Serie: SQL Server Closeup https://www.sascha-dittmann.de/posts/neue-post-serie-sql-server-closeup/ Mon, 03 Jan 2011 08:23:00 +0100 https://www.sascha-dittmann.de/posts/neue-post-serie-sql-server-closeup/ <h2 id="neue-post-serie">Neue Post-Serie</h2> <p>Zum Start diesen Jahres, möchte ich eine Neuerung auf meinem Blog ankündigen:<br> In den nächsten Wochen und Monaten werde ich verstärkt die Interna des SQL Servers beleuchten.</p> <h2 id="warum-sollte-man-sich-mit-den-interna-des-sql-servers-auseinandersetzen">Warum sollte man sich mit den Interna des SQL Servers auseinandersetzen?</h2> <p>Es ist natürlich spannend, sich in neue Themen einzuarbeiten<br> Das Verständnis wie Daten vom SQL Server gespeichert, abgefragt und optimiert werden, …</p> <ul> <li>… bildet die Grundlage für eine performante und einfach verwaltbare Softwarearchitektur</li> <li>… erklärt warum manche Design-Entscheidungen schlecht sind</li> <li>… vereinfacht die Fehlersuche</li> </ul> <p>Somit wünschte ich nicht nur ein Frohes und Erfolgreiches Jahr 2011, sondern auch Viel Spaß beim Lesen der &ldquo;SQL Server Closeup&rdquo;-Serie!</p> Silverlight 4 Toolkit für Windows Phone 7 verfügbar https://www.sascha-dittmann.de/posts/silverlight-4-toolkit-fur-windows-phone-7/ Fri, 17 Sep 2010 08:16:00 +0100 https://www.sascha-dittmann.de/posts/silverlight-4-toolkit-fur-windows-phone-7/ <p>Wie vor einer Weile von Microsoft angekündigt war, stehen seit gestern die finalen <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=04704acf-a63a-4f97-952c-8b51b34b00ce&amp;displaylang=en">Windows Phone 7 Developer Tools</a> zum Download bereit.</p> <p>Auch das <a href="https://github.com/microsoftarchive/SilverlightToolkit">Microsoft Silverlight Toolkit</a> gibt es seit kurzem als spezielle Version für Windows Phone 7.</p> Neues Release der TFS Power Tools verfügbar (September 2010) https://www.sascha-dittmann.de/posts/neues-release-der-tfs-power-tools-verfuegbar-sep-2010/ Fri, 10 Sep 2010 08:59:00 +0100 https://www.sascha-dittmann.de/posts/neues-release-der-tfs-power-tools-verfuegbar-sep-2010/ <p>Wie Brian Harry gestern auf seinem <a href="https://devblogs.microsoft.com/bharry/sept-2010-tfs-power-tools-release-available/">Blog veröffentlicht</a> hat, steht das neue Release der TFS Power Tools zum download bereit.<br> Das Release enthält 3 neue Features:</p> <h2 id="admin-console-backuprestore-wizard">Admin Console Backup/Restore Wizard</h2> <p>Endlich wurde das Thema &ldquo;Backup &amp; Restore&rdquo; des TFS 2010 in Angriff genommen.<br> Nach der Installation der TFS Power Tools findet man in der TFS Administrator Konsole den Menüpunkt Team Foundation Backup.</p> <p><img src="https://storage.googleapis.com/cloud-blog/media/2010/09/TFS_PowerTools_Sep10_0.png" alt="TFS Power Tools 2010 (Sep. Release) - Team Foundation Backup Plan"></p> Silverlight 4 Service Release (September 2010) https://www.sascha-dittmann.de/posts/silverlight-4-service-release-september-2010/ Fri, 03 Sep 2010 09:31:00 +0100 https://www.sascha-dittmann.de/posts/silverlight-4-service-release-september-2010/ <p>Seit wenigen Tagen gibt es das neue Service Release für Silverlight 4 (Build 4.0.50826.0).</p> <p>Das Service Release beinhaltet unter anderem folgende Änderungen:</p> <ul> <li>Im DataGrid Control wurde die Add Row Funktionalität hinzugefügt</li> <li>Die Startgeschwindigkeit von Silverlight Applikationen wurde verbessert</li> <li>Die Unterstüzung des Maus-Scrollrades für Out-Of-Browser Anwendungen auf dem Mac wurde hinzugefügt</li> <li>Das Memory Leak für die Verwendung des MouseCaptures wurde behoben</li> <li>Das Memory Leak für die Verwendung von DataTemplates wurde behoben</li> </ul> <p>Mehr Informationen unter <a href="http://support.microsoft.com/kb/2164913">KB2164913</a>.</p> Patch für Visual Studio 2010 – Suchen/Ersetzen Dialog Vergrößerung https://www.sascha-dittmann.de/posts/patch-fuer-visual-studio-2010-suchen-ersetzen-dialog-vergroesserung/ Thu, 02 Sep 2010 18:33:00 +0100 https://www.sascha-dittmann.de/posts/patch-fuer-visual-studio-2010-suchen-ersetzen-dialog-vergroesserung/ <p>Einer der am häufigsten via Microsoft Connect gemeldete Visual Studio 2010 Bugs beschreibt das Problem, dass der Suchen &amp; Ersetzen Dialog in Visual Studio 2010 sich bei jeder Anwendung um 16px vergrößert.</p> <p>Das Visual Studio Team hat vor kurzem einen <a href="https://devblogs.microsoft.com/visualstudio/patch-available-for-the-growing-find-and-replace-dialog/">Patch veröffentlicht</a>, der das Problem behebt.</p> <h2 id="downloads">Downloads</h2> <ul> <li><a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30518">Patch: KB2268081</a></li> </ul> Silverlight 4 Tools jetzt auch auf deutsch verfügbar https://www.sascha-dittmann.de/posts/silverlight-4-tools-jetzt-auch-auf-deutsch-verfuegbar/ Tue, 22 Jun 2010 14:20:00 +0100 https://www.sascha-dittmann.de/posts/silverlight-4-tools-jetzt-auch-auf-deutsch-verfuegbar/ <p>Seit kurzem kommen auch die Benutzer des deutschen Visual Studio 2010 in den Genuß Silverlight 4 Applikationen entwickeln zu können.</p> <h2 id="downloads">Downloads</h2> <ul> <li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=de&amp;FamilyID=eff8a0da-0a4d-48e8-8366-6ddf2ecad801">Microsoft Silverlight 4 Tools für Visual Studio 2010</a></li> </ul> SQL Azure News von der TechEd https://www.sascha-dittmann.de/posts/sql-azure-news-von-der-teched/ Sun, 13 Jun 2010 12:20:00 +0100 https://www.sascha-dittmann.de/posts/sql-azure-news-von-der-teched/ <p>Auf der TechEd North America wurden einige Neuerungen für <a href="https://azure.microsoft.com/en-us/products/azure-sql/">SQL Azure</a> angekündigt.</p> <h2 id="größere-sql-azure-datenbanken">Größere SQL Azure Datenbanken</h2> <p>Der Speicherplatz wird zum 28. Juni weltweit um den Faktor 5 vergrößert. Damit kann man nun eine SQL Azure Datenbank mit 50 GB Speicher in seine Anwendung integrieren.</p> <h2 id="spatial-data-support">Spatial Data Support</h2> <p>SQL Azure unterstützt nun ab sofort Geo Datentypen sowie auch die entsprechenden T-SQL Statements. Damit kann man nun mit der Windows Azure Plattform Geobasierte Anwendungen komplett in der Cloud laufen lassen</p> Windows Azure Tools 1.2 verfügbar https://www.sascha-dittmann.de/posts/windows-azure-tools-12-verfugbar/ Sun, 13 Jun 2010 11:04:00 +0100 https://www.sascha-dittmann.de/posts/windows-azure-tools-12-verfugbar/ <p>Seid ein paar Tagen ist ein neues Release der Windows Azure Tools für Microsoft Visual Studio verfügbar. Es gibt nun endlich den lang ersehnten <strong>.NET Framework 4 Support</strong>.</p> <h2 id="hier-die-feature-übersicht">Hier die Feature Übersicht</h2> <ul> <li><strong>Visual Studio 2010 RTM Support:</strong> Vollständige Unterstützung für die finale Version von Visual Studio 2010</li> <li><strong>.NET Framework 4 Support:</strong> Endlich lassen sich auch Anwendung mit dem .NET Framework 4 auf Windows Azure hosten. Natürlich kann man nach wie vor .NET 3.5 nutzen.</li> <li><strong>Cloud Storage Explorer:</strong> Direkte Anzeige der Windows Azure Storage Features wie Tabellen und Blobs aus dem Server Explorer heraus</li> <li><strong>Integriertes Deployment:</strong> Zertifikat vorausgesetzt kann man nun direkt aus Visual Studio heraus deployen ohne über die Portalwebseite die einzelnen Schritte anzustossen</li> <li><strong>Service Monitoring:</strong> Es gibt nun einen Compute Node im Server Explorer, in welchem man die momentan laufenden Instanzen auf Windows Azure sehen kann</li> <li><strong>IntelliTrace Support:</strong> IntelliTrace Debugging ist nun für Windows Azure Anwendungen in der Cloud verfügbar. Des Weiteren sind noch weitere Verbesserungen enthalten.</li> </ul> <h2 id="downloads">Downloads</h2> <ul> <li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&amp;displaylang=en">Windows Azure Tools for Microsoft Visual Studio 1.2 (June 2010)</a></li> </ul> ASP.NET MVC 2: Große Applikationen in Bereiche partitionieren https://www.sascha-dittmann.de/posts/aspnet-mvc-2-grosse-applikationen-in-bereiche-partitionieren/ Sat, 12 Jun 2010 19:56:00 +0100 https://www.sascha-dittmann.de/posts/aspnet-mvc-2-grosse-applikationen-in-bereiche-partitionieren/ <p>Dies ist der dritte Teil aus der Serie <a href="https://www.sascha-dittmann.de/posts/neuerungen-bei-aspnet-mvc-2">Neuerungen bei ASP.NET MVC 2</a>.<br> Ich möchte hier vorstellen, wie große Applikationen in &ldquo;Bereiche&rdquo; partitioniert werden können.</p> <h2 id="große-applikationen-in-bereiche-partitionieren">Große Applikationen in &ldquo;Bereiche&rdquo; partitionieren</h2> <p>Mit ASP.NET MVC 2 können nun große Applikationen in &ldquo;Bereiche&rdquo; (Areas) partitioniert werden. Mit Bereichen lässt sich ein großes Projekt in mehrere kleinere Abschnitte organisieren, um so die Komplexität einer großen Web-Anwendung zu vereinfachen. Jeder Abschnitt (Bereich) definiert dabei einen eigenen Namensraum und gruppiert somit Model-, Views- und Controller-Klassen.</p> ASP.NET MVC 2: Model Validierung https://www.sascha-dittmann.de/posts/aspnet-mvc-2-model-validierung/ Mon, 31 May 2010 20:17:00 +0100 https://www.sascha-dittmann.de/posts/aspnet-mvc-2-model-validierung/ <p>Dies ist der zweite Teil aus der Serie <a href="https://www.sascha-dittmann.de/posts/neuerungen-bei-aspnet-mvc-2">Neuerungen bei ASP.NET MVC 2</a>. Ich möchte hier die Verbesserungen der Validierung vorstellen.</p> <h2 id="aspnet-mvc-2-validierung">ASP.NET MVC 2 Validierung</h2> <p>Validierung der Benutzereingaben und das Durchsetzen der Geschäftslogik gehören zu den Grundanforderungen der meisten Webapplikationen. ASP.NET MVC 2 beinhaltet neue Möglichkeiten, welche die Validierung der Benutzereingaben und das Durchsetzen der Geschäftslogik auf Basis von Models bzw. ViewModels stark vereinfachen.<br> Diese Feature wurden so entwickelt das die Validierungslogik immer auf dem Server erzwungen wird und optional auf dem Client via JavaScript geprüft werden kann.<br> Die Validierungsinfrastruktur in ASP.NET MVC 2 wurde entwickelt damit:</p> ASP.NET MVC 2: Stark Typisierte HTML Hilfsmethoden https://www.sascha-dittmann.de/posts/aspnet-mvc-2-stark-typisierte-html-hilfsmethoden/ Mon, 31 May 2010 13:30:00 +0100 https://www.sascha-dittmann.de/posts/aspnet-mvc-2-stark-typisierte-html-hilfsmethoden/ <p>Dies ist der erste Teil aus der Serie <a href="https://www.sascha-dittmann.de/posts/neuerungen-bei-aspnet-mvc-2">Neuerungen bei ASP.NET MVC 2</a>. Ich möchte hier das Feature &ldquo;Stark Typisierte HTML Hilfsmethoden&rdquo; vorstellen.</p> <h2 id="alte-html-hilfsmethoden">&ldquo;Alte&rdquo; HTML Hilfsmethoden</h2> <p>ASP.NET MVC 1 beinhaltete bereits eine Reihe an HTML Hilfsmethoden, mit dessen Hilfe man in den View Vorlagen HTML produzieren lassen konnte. Um zum Beispiel eine TextBox zu erzeugen, benutzt man die Hilfsmethode Html.TextBox():</p> <p><img src="https://storage.googleapis.com/cloud-blog/media/2010/05/MVC2_StronglyTypedHtmlHelpers_1.png" alt="&lt;%= Html.TextBox(&ldquo;ProductName&rdquo;, Model.ProductName) %&gt;"></p> <p>Der erste Parameter der Hilfsmethode gibt den Name bzw. die ID der TextBox an und der zweite Parameter den Wert. Im daraus erzeugten HTML sieht dies wie folgt aus:</p> Lokale SharePoint 2010 Entwicklungsumgebung https://www.sascha-dittmann.de/posts/lokale-sharepoint-2010-entwicklungsumgebung/ Mon, 31 May 2010 01:34:00 +0100 https://www.sascha-dittmann.de/posts/lokale-sharepoint-2010-entwicklungsumgebung/ <p>Seit SharePoint 2010 ist es endlich möglich den SharePoint Server auf Windows 7 (64bit) bzw. Windows Vista (64bit) zu installieren. Dies erleichtert das Debugging und spart den Einsatz von (virtuellen) Servern. In Kombination mit Visual Studio 2010 sowie Office 2010 hat nun ein Entwickler einen perfekten Entwicklerarbeitsplatz.</p> <p>Wichtig: Ein unter Windows 7 (oder Vista) installierter SharePoint Server untersteht absolut keinem Support und darf nicht als produktiver Server verwendet werden!</p> <p>Eine genaue Anleitung gibt es unter:<br> <a href="https://learn.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ee554869(v=office.14)">Setting Up the Development Environment for SharePoint Server</a> (zur Zeit nur in Englisch verfügbar)</p> Neuerungen bei ASP.NET MVC 2 https://www.sascha-dittmann.de/posts/neuerungen-bei-aspnet-mvc-2/ Sun, 30 May 2010 10:12:00 +0100 https://www.sascha-dittmann.de/posts/neuerungen-bei-aspnet-mvc-2/ <p>Mit Visual Studio 2010 kam nun auch offiziell die zweite Version des ASP.NET MVC raus. Doch was ist eigentlich Neu? Mit diesem Blog Post möchte ich eine Serie starten, die über diese Neuerungen berichtet.</p> <p>ASP.NET MVC 2 Neuerungen</p> <p>ASP.NET MVC 2 kommt mit einigen neuen Features, wie z.B.</p> <ul> <li>Stark Typisierte HTML Hilfsmethoden <a href="https://www.sascha-dittmann.de/posts/aspnet-mvc-2-stark-typisierte-html-hilfsmethoden">link</a></li> <li>Erweiterte Model Validierung (Server- und Client-Seitig) <a href="https://www.sascha-dittmann.de/posts/aspnet-mvc-2-model-validierung">link</a></li> <li>Auto-<a href="http://de.wikipedia.org/wiki/Web_Application_Framework#Scaffolding">Scaffold</a> UI Hilfsmethoden mit Benutzerdefinierten Templates</li> <li>Unterstützung um große Applikationen in &ldquo;Bereiche&rdquo; zu partitionieren <a href="https://www.sascha-dittmann.de/posts/aspnet-mvc-2-grosse-applikationen-in-bereiche-partitionieren">link</a></li> <li>Asynchrone Controller Aufrufe</li> <li>Rendern von Untersektionen einer Seite mit Hilfe von Html.RenderAction</li> <li>Viele neue Hilfsmethoden, Werkzeuge und API Erweiterungen</li> <li>Verbesserte Visual Studio Unterstützung</li> </ul> ADO.NET Data Services Update für .NET 3.5 SP1 https://www.sascha-dittmann.de/posts/ado-net-data-services-update-fuer-net-3-5-sp1/ Mon, 01 Feb 2010 08:21:00 +0100 https://www.sascha-dittmann.de/posts/ado-net-data-services-update-fuer-net-3-5-sp1/ <p><strong>Mike Flaskom, Lead Program Manager der Microsoft-Abteilung Data Services hat bekanntgegeben, dass das ADO.NET Data Services Update für .NET Framework 3.5 SP1 freigegeben wurde und zum Download bereitsteht.</strong></p> <p>Das ADO.NET Data Services Update für .NET Framework 3.5 SP1 steht in zwei Varianten bereit, eine für Windows 7 und Windows Server 2008 R2 <a href="http://www.microsoft.com/downloads/details.aspx?familyid=79d7f6f8-d6e9-4b8c-8640-17f89452148e">link</a> und eine für andere Windows-Versionen ab Windows XP <a href="http://www.microsoft.com/downloads/details.aspx?familyid=4B710B89-8576-46CF-A4BF-331A9306D555">link</a>.</p> <p>Dieses Release bringt neue Client- und Server-Funktionalitäten für Data-Service-Entwickler und neue Integrationsszenarios, wie etwa die Programmierung gegen SharePoint-Listen. Das Update ersetzt die Data Service Assemblys, die mit .NET 3.5 SP1 ausgeliefert wurden ((System.Data.Services.*.dll). Silverlight-Clients profitieren von dem Update nicht.</p> SharePoint 2010 Public Beta steht seit heute zum Download bereit https://www.sascha-dittmann.de/posts/sharepoint-2010-public-beta-steht-seit-heute-zum-download-bereit/ Thu, 19 Nov 2009 07:49:00 +0100 https://www.sascha-dittmann.de/posts/sharepoint-2010-public-beta-steht-seit-heute-zum-download-bereit/ <p>Seit heute sind die Public Beta’s von Office 2010, SharePoint Server 2010, Visio 2010, Project 2010 und den Office Web Apps verfügbar.</p> <h2 id="sharepoint-public-beta-resourcen">SharePoint Public Beta Resourcen</h2> <p>Allgemeine Informationen zu SharePoint: <a href="https://www.microsoft.com/de-de/microsoft-365/sharepoint/collaboration">https://www.microsoft.com/de-de/microsoft-365/sharepoint/collaboration</a><br> Resourcen für Entwickler: <a href="https://learn.microsoft.com/en-us/sharepoint/dev/">https://learn.microsoft.com/en-us/sharepoint/dev/</a> Resourcen für IT Pro’s: <a href="https://learn.microsoft.com/en-us/sharepoint/">https://learn.microsoft.com/en-us/sharepoint/</a><br> Die SharePoint Foren: <a href="https://learn.microsoft.com/en-us/answers/tags/831/m365-office">Microsoft Q&amp;A</a></p> <h2 id="wann-wird-das-final-release-von-sharepoint-und-office-2010-verfühbar-sein">Wann wird das Final Release von SharePoint und Office 2010 verfühbar sein?</h2> <p>Microsoft plant das Final Release von SharePoint und Office 2010 in der ersten Hälfte des Kalenderjahres 2010.</p> Patterns for Parallel Programming erschienen https://www.sascha-dittmann.de/posts/patterns-for-parallel-programming-erschienen/ Sun, 15 Nov 2009 10:19:00 +0100 https://www.sascha-dittmann.de/posts/patterns-for-parallel-programming-erschienen/ <p><a href="https://learn.microsoft.com/en-us/archive/blogs/toub/">Stephen Toub</a> hat einen wichtigen fehlenden Baustein zu den neuen Parallel Extensions im .NET Framework 4 rausgebracht: Ein Dokument über die Anwendung dieser Technologie. Lesenswert!</p> <p>Link: <a href="https://www.microsoft.com/en-us/download/details.aspx?id=19222">Patterns for Parallel Programming</a></p> Lange Zeit in Planung und endlich online... https://www.sascha-dittmann.de/posts/lange-zeit-in-planung-und-endlich-online/ Sat, 14 Nov 2009 18:58:00 +0100 https://www.sascha-dittmann.de/posts/lange-zeit-in-planung-und-endlich-online/ <p>Hallo!</p> <p>Lange Zeit habe ich vor gehabt einen Blog einzurichten und endlich habe ich mich dazu durchgerungen es auch in die Tat umzusetzten. Von heute an sammle ich hier alles Rund um das Thema Softwareentwicklung im Microsoft-Umfeld. Schwerpunkte sollen hier Visual Studio, SQL Server und SharePoint sein.</p> <p>Viele Spaß beim Lesen,<br> Sascha</p>