.
Anmeldung | Registrieren | Hilfe

.NET-Blogs Archiv Februar 2012

Download: Windows 8 Consumer Preview

29.02.2012 17:42:00 | Kay Giza

Heute hat Microsoft auf dem Mobile World Congress in Barcelona vor wenigen Augenblicken die Windows 8 Consumer Preview - also eine Vorschauversion des nächsten Microsoft Betriebssystems - vorgestellt. Microsoft hat seit der Developer Preview Version von Windows 8 über 100.000 Verbesserungen und Codeänderungen vorgenommen. Ab sofort kann man also die Windows 8 Consumer Preview unter... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

CeBIT 2012 - Microsoft Cloud Computing in Halle 4

28.02.2012 09:42:08 | Kay Giza

Vom 06. bis 10. März 2012 findet wieder das weltweit wichtigste und internationalste Ereignis der digitalen Industrie statt, die CeBIT. Auch dieses Jahr bin ich wieder vor Ort und würde mich über Ihren Besuch am Microsoft Stand in Halle 4, Stand A26 sehr freuen. Ich werde dort mit zahlreichen Kolleginnen und Kollegen vor Ort zum Thema Cloud Computing von Microsoft vor Ort sein. In Halle 4 kann man sich bei den Ständen M41 bis M48 über das Thema Cloud Computing informieren. Durch... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

MVP Global Summit 2012 (Bellevue und Redmond, Washington, USA)

27.02.2012 12:05:27 | Kay Giza

Vom 28. Februar 2012 bis zum 02. März 2012 findet wieder in Seattle (Washington, USA) das MVP Global Summit statt! Als ehemaliger MVP ist es mir eine Freude über dieses Event zu berichten, denn die Empfänger des MVP Awards werden jedes Jahr zur Teilnahme am MVP Global Summit eingeladen, einer der größten, mehrere Tage dauernden Veranstaltungen für Microsoft MVPs weltweit. Auf dem MVP Summit erhalten MVPs Zugang zu exklusiven... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

NEU: Skype App fuer Windows Phone

27.02.2012 10:52:20 | Kay Giza

Skype für Windows Phone: Ab heute gibt es Skype jetzt auf so gut wie allen gewünschten Smartphones. Für Windows Phone ist seit heute Nacht auch eine Beta-Version von Skype verfügbar - natürlich kostenlos bzw. kostenfrei. Als Windows Phone 7-Nutzer kann man sich die Beta-Version auf zwei verschiedene Wege installieren... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

Bandbreitenrechner fuer Exchange Server und Exchange Online

27.02.2012 10:22:09 | Kay Giza

An IT-Administratoren richtet sich der neue Exchange Client-Bandbreitenrechner, mit dessen Hilfe Fallstricke bei der Bandbreitenplanung für ein von Exchange Server oder Microsoft Exchange Online bedientes Netzwerk aus dem Weg geräumt werden. Nach dem Bandbreitenrechner für Microsoft Lync steht damit ein weiteres Werkzeug zur faktenbasierenden Netzwerkplanung für Microsoft Server- und Microsoft Online Services-Produkte bereit. Die Kalkulationsgrundlagen... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

InvalidOperationException in WebBrowserTask.Show

24.02.2012 23:19:00 | Martin Hey

In Windows Phone 7 hat man mit Hilfe der Launcher und Chooser die Möglichkeit, auf im System integrierte Funktionen zuzugreifen - sei es nun die Kamera, der Emailclient oder wie in meinem Fall der Browser. Meine Anwendung hat mehrere Buttons über die zu unterschiedlichen Webseiten weiternavigiert werden kann - hauptsächlich als weiterführende Information im Impressum.

Dafür hab ich abstrakt gesehen folgende zentrale Methode:

public static void OpenInWebBrowser(string url)
{
    var openBrowserTask = new WebBrowserTask { Uri = new Uri(url) };
    openBrowserTask.Show();
}

Diese Methode wird direkt in dem Command aufgerufen, das an dem Button hängt - alles kein Hexenwerk. Was mich nun wunderte: Gelegentlich bekam ich Error-Reports mit diesem Inhalt:

Navigation is not allowed when the task is not in the foreground. Error: -2147220990

Da stellte sich mir folgende Frage: Wie kann jemand den Button klicken, wenn die Anwendung nicht im Vordergrund ist?

Die Lösung ist ganz einfach: Der Benutzer hat kurz nacheinander auf den Button geklickt - sei es nun weil er so aufgeregt war, eine schöne Webseite zu sehen oder weil er gerade unterwegs auf einer holprigen Straße war - die Möglichkeiten sind da ja sehr vielfältig. Das ist möglich, weil der Launcher eine Weile braucht, um den Browser in den Vordergrund zu holen. Der Nutzer kann also dafür sorgen, dass der Click-Event zweimal ausgelöst wird - der zweite Event wird aber erst dann verarbeitet, wenn der erste WebBrowserTask den Browser geöffnet hat und damit die eigentliche Anwendung nicht mehr im Vordergrund ist. Und dann kommt es zu dieser Exception.

Wie geht man nun damit um? Es gibt mehrere Ansätze. Zum einen kann man natürlich mit Try-Catch-Blöcken arbeiten und genau diesen Exception-Typ abfangen. Da diese Exception bei dieser Methode bisher in der MSDN nicht dokumentiert ist, ist es etwas schwierig hier von allein auf die Idee zu kommen, diesen speziellen Typ abzufangen, aber nachher weiß man es immer besser. Zusätzlich könnte man noch den Click-Handler abhängen bzw. den Button oder das Command deaktivieren. 

Ich bin nicht der einzige, dem dieses Problem untergekommen ist - und Niko hat einen sehr ausführlichen Blogpost zum Thema geschrieben, der auch alle hier genannten Lösungsmöglichkeiten aufführt.

Entwickeln fuer Windows 8 - erste offizielle deutsche Veranstaltungen auf der CeBIT 2012

21.02.2012 18:49:01 | Kay Giza

Am Mittwoch, dem 29. Februar, wird Microsoft im Rahmen der Mobilfunkmesse Mobile World Congress in Barcelona erstmals die Windows 8 Consumer Preview präsentieren. Nur eine Woche später, auf der CeBIT 2012, kann man als Entwickler & Interessierte das Potential des nächsten Windows Betriebssystems aus dem Hause Microsoft dann auch persönlich näher kennenlernen: Bei den ersten offiziellen Windows 8 Developer Events von MSDN Deutschland. Bei insgesamt 9 kostenlosen Kompakt-Seminaren tauchen die Microsoft Technologieberater... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

Themenwahl und CfP für die See# Conference 2012 gestartet

20.02.2012 13:15:00 | Jürgen Gutsch

Letzte Wochen haben wir die .NET-Community aufgefordert Themenwünsche für die See# Conference 2012 einzureichen. Dafür habe ich eine Umfrage auf tricider.com gestartet:

https://tricider.com/de/brainstorming/G5ci

Hier könnt ihr eure Idee und Argumente veröffentlichen und für vorgeschlagene Themen abstimmen. Diese Umfrage läuft noch ein paar Woche. Ich fordere euch also hiermit auf weitere Ideen einzutragen :-)

Call for Papers

Falls Ihr Interesse habt an der See# Conference 2012 in Kreuzlingen einen Vortrag zu einem .NET-Spezifischen Thema zu halten, seid Ihr herzlich eingeladen uns Eure Vorschläge einzureichen.

Dazu benötigen wir folgende Daten von Euch:

  • Titel des Vortrags
  • Abstract/Kurzbeschreibung
  • Kurzbiographie und Foto
  • E-Mail Adresse (optional Handynummer für Notfälle)
  • optional: Website / Blog / Twitter / XING Profil

Alle Vorträge dauern 60 Minuten.

Die Anmeldung sollte per E-Mail mit dem Betreff "See# Conference: Vortragsvorschlag" an info@dotnetkk.de gesendet werden.

Euer Ansprechpartner für die Themen und die Agenda werde ich dieses Jahr selber sein. Ich werde dieses Jahr die Vortragsvorschläge anhand der Themenvorschläge aus der .NET-Community auswählen.

Weitere Informationen findet Ihr unter: http://www.seesharp-conference.net/de/Agenda/Call-for-papers/page38399.htm

NEU : Zusätzlicher C++ Day 2012 in ULM am 26.3

16.02.2012 12:01:30 | Christian Binder

C++ Day 2012

Da der C++ Day 2012 an allen Lokationen ausgebucht ist, haben wir uns entschlossen, einen zusätzlichen Termin in ULM anzubieten.

Wo : ULM
Wann: 26.3.2012  14:00- 18:00

Hier geht’s zur ANMELDUNG

Microsoft CalCheck hilft bei Problemen mit Exchange-Kalendern

14.02.2012 10:42:23 | Kay Giza

Eine kaum zu merkende Vielzahl an Terminen prägen die heutige Arbeitswelt, und gerade deswegen ist ein reibungslos funktionierender elektronischer Kalender eine der entscheidenden Hilfen, um den Anforderungen des Alltags bestmöglich gerecht werden zu können. Schnell werden die Anrufe beim IT-Administrator dringlicher, wenn mal nicht eine – mitunter vielleicht sogar willkommene – Zwangspause bei den E-Mails eintritt, sondern der Kalender seine entscheidende Mitarbeit verweigert. Mit CalCheck erhalten Administratoren jetzt ein kostenfreies Kommandozeilenwerkzeug, das als erste Hilfe beim Verdacht auf ein Problem im Inhalt des Kalenders selber dient. Dazu öffnet das in 32- und 64-Bit-Versionen vorliegende Tool ein Outlook-Profil auf einem Exchange Server...

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

Bandbreitenrechner fuer Microsoft Lync

14.02.2012 09:42:45 | Kay Giza

Mit Microsoft Lync, das Ihnen auch im Rahmen von Microsoft Office 365 bereitsteht, verfügen Sie über eine Kommunikations- und Kollaborationslösung, die Sprache, Instant Messaging sowie Audio-, Video- und Webkonferenzen zu einem umfassenden und einfachen Erlebnis vereint und nur wenige Grenzen kennt. Lync glänzt als hausinterne Lösung, bindet klassische Telefonie mit ein und ermöglicht vielschichtige Kommunikation und Präsenzinformation problemlos auch standort- oder konzernübergreifend. Für eine ideale Verbindungsqualität ist dabei natürlich die zur Verfügung stehende Bandbreite... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2012 Kay Giza. All rights reserved. Legal
Subscribe

Beta Update : C++ Day 2012 Slides und Demos zum Download

09.02.2012 17:50:53 | Christian Binder

Die Slides und Demos von C++ Day 2012 gibt’s hier zum Download. Jetzt für VS 11 Beta:

image

Hinweis: Wer mit der VS11 Beta die C++ AMP Demos nutzen möchte, findet hier die Änderungen zwischen VS Developer Preview und VS 11 Beta: Changes in VS 11 Beta for C++ AMP  und hier zusätliche C++ AMP Demos C++ AMP sample projects for download

Request Validation an eigene Bedürfnisse anpassen

06.02.2012 21:36:00 | Martin Hey

Die Validierung der an die Webanwendung übertragenen Daten spielt eine zentrale Rolle, ist sie doch der Garant dafür, dass kein schadhafter Code eingeschleust werden kann und verhindert Cross Site Scripting (XSS). Und wer hat nicht schon einmal den YOSD gesehen, der erscheint, wenn ein Wert eingegeben wird, der auch nur im entferntesten wie HTML aussieht.

Was hier passiert ist klar. Die Request Validation von ASP.NET hat in den Eingabewerten einen Eintrag gefunden, den sie als potenziell unsicher erkannt hat und schützt nun die Anwendung indem eine HttpRequestValidationException geworfen wird. Was für Entwickler an der Request Validierung störend ist, ist, dass sie an einer Stelle vorgenommen wird, an der nicht so richtig gut eingegriffen werden kann - sie geschieht vor der BeginRequest-Phase des Http Requests. In meinem Post zum Attribut AllowHtml habe ich schon gezeigt, wie man mit Hilfe des AllowHtmlAttribute an Eigenschaften des Models die Request Validierung für einzelne Feldwerte deaktivieren kann. Aber ASP.NET bietet noch eine weitere Möglichkeit, in die Validierung einzugreifen: eine eigene Implementierung der Request Validation.

Um eine eigene Implementierung der Request Validierung vorzunehmen sind zwei wesentliche Schritte notwendig: Zum einen muss eine von RequestValidator abgeleitete Klasse erstellt und diese muss dann noch in der weg.config registriert werden.

 

Erstellen des RequestValidators

Ein eigener RequestValidator ist schnell erstellt: Hierzu leitet man einfach von der Klasse RequestValidator ab. RequestValidator selbst bringt die überschreibbare Methode IsValidRequestString mit und diese Methode wird für jeden im Request enthaltenen Wert aufgerufen - seien es nun Cookie-Werte oder im Formular-Post enthaltene Werte. Ist der Rückgabewert bei irgendeinem Wert false, so resultiert daraus die schon bekannte HttpRequestValidationException.

Im Beispiel möchte ich die Validierung so anpassen, dass beispielsweise einzelne eckige Klammern noch zugelassen werden (wie sie als Passwort-Sonderzeichen gern mal vorkommen), aber Werte die den Anschein von HTML erwecken (also zunächst öffnende und dann wieder schließende Klammern) weiterhin abgewiesen werden. Nun könnte ich selbst mit Hilfe von RegEx-Pattern die Eingabewerte prüfen und je nachdem ob es Matches gab oder nicht dann die Werte abweisen. In diesem Fall möchte ich mich aber lieber auf Komponentenhersteller verlassen, die sich schon einige Jahre mit Cross Site Scripting und der Verhinderung davon beschäftigen. Im Download-Center von Microsoft kann die Anti XSS Library heruntergeladen werden. Derzeit aktuell ist die Version 4.2.1. Darin enthalten sind im wesentlichen zwei Assemblies: die AntiXSSLibrary.dll und die HtmlSanitizationLibrary.dll. Für meine Zwecke verwende ich die letzte der beiden. Sie ist in der Lage, HTML zu bereinigen. Angewandt sieht mein CustomRequestValidator nun wie folgt aus:

namespace Sample
{
    public class CustomRequestValidator : RequestValidator
    {
        protected override bool IsValidRequestString(
            HttpContext context, 
            string value, 
            RequestValidationSource requestValidationSource, 
            string collectionKey, 
            out int validationFailureIndex)
        {
            validationFailureIndex = 0;

            if (requestValidationSource == RequestValidationSource.Form)
            {
                if (IsSafeHtmlString(value))
                {
                    return true;
                }
            }

            return base.IsValidRequestString(context, value, requestValidationSource, collectionKey, out validationFailureIndex);

        }

        private static bool IsSafeHtmlString(string value)
        {
            // compare safe html with input
            var sanitizedValue = HttpUtility.HtmlDecode(Sanitizer.GetSafeHtmlFragment(value));
            if (sanitizedValue != value)
            {
                return false;
            }

            return true;
        }

    }
}

Herzstück ist die Methode IsSafeHtmlString. Ihre Funktionsweise: Ist der durch die Säuberung der AntiXSS-Library ggf. veränderte Eingabewert mit dem eigentlichen Eingabewert noch identisch, so hatte die AntiXSS-Library nichts am Eingabewert auszusetzen und er kann als sicher angesehen werden - anderenfalls wird auf die Standardimplementierung des ASP.NET-Frameworks zurückgegriffen.

 

Registrieren in der web.config

Um diesen Validator nun zu registrieren, muss nur noch die web.config so angepasst werden, dass die eigene Implementierung verwendet wird:

<system.web>
  <httpRuntime requestValidationType="Sample.CustomRequestValidator" />
  ...
</system.web>

Das war's schon. Da im False-Fall an die Standard-Implementierung des RequestValidators weitergeleitet wird, greifen natürlich auch Einstellungen am Model wie das AllowHtml-Attribut.

 

Zum Schluss möchte ich noch einmal darauf hinweisen, dass die Request Validation in ASP.NET - auch wenn sie sehr streng ist - ihre Daseinsberechtigung hat und es auch durchaus sinnvoll ist, dass sie so strenge Überprüfungen vornimmt. Mit jeder Änderung an der Request Validation - sei es nun sie mit Hilfe von AllowHtml für einzelne Eigenschaften zu deaktivieren, sie ganz auszuschalten oder sie wie eben gezeigt zu modifizieren, sollte man extrem vorsichtig sein, da die Applikation damit potenziell unsicher und anfällig für Angreifer wird.

Treffen der DNUG Braunschweig - Reporting auf Grundlage von XML-Definitionen

06.02.2012 04:20:00 | Lars Keller

Die DNUG Braunschweig trifft sich am 14.02.2012 um 19:00 im Restaurant Zucker (Tagungsraum). Dieses Mal hält unser Mitglied Guido Birkenfeld einen Vortrag zum Thema Reports.

Abstract:
Reports sind in vielen Betrieben ein wichtiger Bestandteil der täglichen Arbeit
Es gibt bereits sehr viele gute und komplexe Tools auf dem Markt.
Guido zeigt einen Ansatz Reports mit den dazugehörigen Eingabeparametern mit Hilfe einer XML-Definition zu erstellen.
Diese werden dann in einer Datenbank gespeichert und können über ein Webinterface aufgerufen werden.
Der wesentliche Vorteil hierbei liegt darin, dass keine neue Software Version ausgeliefert werden muss.
Denn die Änderungen werden ausschließlich in der Datenbank gemacht.

Bio:
Guido Birkenfeld arbeitet als Softwareentwickler bei der Firma CEVA Logistics in Wolfsburg
Beruflich und auch privat beschäftigt er sich hauptsächlich mit dem Design und der Entwicklung von .NET  Anwendungen.

Wie immer ist die Veranstaltung kostenlos! Weitere Informationen zur DNUG Braunschweig können hier gefunden werden: http://www.dotnet-braunschweig.de

.NET Day Franken 2012 - Ich bin dabei!

05.02.2012 06:26:00 | Lars Keller

Am 28.04.12 findet wieder der .NET Day Franken in Nürnberg statt. Ich selber bin als Sprecher mit dem Thema “Kinect & MS Office? - Neue Wege der Benutzer Experience (UX)” dabei.
Die Agenda zeigt ein relativ breites Spektrum an interessanten Themen rund um .NET. SQL Server 2012, Silverlight 5, Scrum sowie Game Development!

Mein letzter Besuch bei der DNUG Franken ist schon eine Weile her, darum freue ich mich, besonders auf einen Besuch in der schönen Stadt Nürnberg!

Regeln | Impressum