<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Peter Schneider</title><subtitle type="html">&lt;br /&gt;MCT, MCSD.NET, MCAD.NET, MCDBA</subtitle><id>http://weblogs.asp.net/pschneider/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/pschneider/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2008-03-03T12:58:28Z</updated><entry><title>ASP Konferenz – SDS Demos</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2009/06/30/asp-konferenz-sds-demos.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2009/06/30/asp-konferenz-sds-demos.aspx</id><published>2009-06-30T16:14:00Z</published><updated>2009-06-30T16:14:00Z</updated><content type="html">&lt;P&gt;Letzte Woche fand ja die &lt;A href="http://www.asp-konferenz.de/sds/" target=_blank mce_href="http://www.asp-konferenz.de/sds/"&gt;ASP Konferenz – das Sharepoint Development Special&lt;/A&gt; in Burghausen statt. Ich hatte das Vergnügen 4 Vorträge zur Sharepoint Entwicklung abzuhalten. Bei Interesse schreibt einfach eine kurze Mail an mich (Kontakt Formular)...&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7137274" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Sharepoint" scheme="http://weblogs.asp.net/pschneider/archive/tags/Sharepoint/default.aspx" /></entry><entry><title>Office Live Workspace Unterstützung für Ordner</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2009/03/11/office-live-workspace-unterst-252-tzung-f-252-r-ordner.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2009/03/11/office-live-workspace-unterst-252-tzung-f-252-r-ordner.aspx</id><published>2009-03-11T10:29:06Z</published><updated>2009-03-11T10:29:06Z</updated><content type="html">&lt;p&gt;Habe gerade eben jetzt mitbekommen, dass auf Office Live Workspace nun *endlich* auch die &lt;strong&gt;Unterstützung für eigene Ordner &lt;img alt="smile_tongue" src="http://spaces.live.com/rte/emoticons/smile_tongue.gif" /&gt;&lt;/strong&gt; mitdabei ist. Diese Funktion gibt es anscheinend schon seit Ende Februar und macht den Live Workspace nun wirklich zu einem nutzbaren Service. Zu beachten ist, dass der Dienst nach wie vor im Beta Stadium ist. Die Storage Size liegt bei 5GB.&lt;/p&gt;  &lt;p&gt;Ebenfalls lohnt es sich, das &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=91fe0002-eb00-434b-8726-27911326d2b2&amp;amp;DisplayLang=de" target="_blank"&gt;Office Live Update 1.3&lt;/a&gt; zu installieren. Das Office Live-Add-In fügt in der Microsoft Office 2007-Suite neue Menüoptionen und in Microsoft Office XP und Office 2003 eine Symbolleiste hinzu. Damit kann man Dokumente in Office Live Workspace direkt von Word, Excel und PowerPoint aus öffnen und speichern.&lt;/p&gt;  &lt;p&gt;Wer den Service noch nicht kennt - ein Blick auf &lt;a href="http://workspace.office.live.com"&gt;http://workspace.office.live.com&lt;/a&gt; genügt - und lohnt sich auf alle Fälle (Anmeldung mit Windows LiveID notwendig).&lt;/p&gt;  &lt;p&gt;Wer hingegen Wert auf &lt;strong&gt;Synchronisation der Dateien&lt;/strong&gt; auf mehrere Rechner legt, ist bei &lt;a href="http://www.foldershare.com" target="_blank"&gt;http://www.foldershare.com&lt;/a&gt; oder &lt;a href="http://www.mesh.com" target="_blank"&gt;http://www.mesh.com&lt;/a&gt; bestens aufgehoben.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6953528" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tools" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tools/default.aspx" /><category term="Windows Live" scheme="http://weblogs.asp.net/pschneider/archive/tags/Windows+Live/default.aspx" /></entry><entry><title>COM Fehler 8001010a bei Office Automatisierung</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2009/03/03/com-fehler-8001010a-bei-office-automatisierung.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2009/03/03/com-fehler-8001010a-bei-office-automatisierung.aspx</id><published>2009-03-03T08:07:30Z</published><updated>2009-03-03T08:07:30Z</updated><content type="html">&lt;p&gt;Bei der Automatisierung von Office Anwendungen kann es unter Umständen zu einem recht seltsamen Fehler kommen, wenn versucht wird die Anwendung zu starten:&lt;/p&gt;  &lt;div&gt;   &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; Microsoft.Office.Interop.MSProject.ApplicationClass prApp = &lt;/pre&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Microsoft.Office.Interop.MSProject.ApplicationClass(); &lt;/pre&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; prApp.Visible = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;; &lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Laut Microsoft &lt;a href="http://support.microsoft.com/kb/246018" target="_blank"&gt;KB Artikel 246018&lt;/a&gt; kann dies an einer Antivirus Software liegen.&lt;/p&gt;

&lt;p&gt;Im Fall von &lt;a href="http://free.avg.com" target="_blank"&gt;AVG&lt;/a&gt; kann man folgendermaßen Abhilfe schaffen:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/pschneider/image_4493023C.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="79" alt="image" src="http://weblogs.asp.net/blogs/pschneider/image_thumb_2A529918.png" width="177" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/pschneider/image_20AA2AE2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="290" alt="image" src="http://weblogs.asp.net/blogs/pschneider/image_thumb_5D7EACB4.png" width="440" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Danach sollte der Code tadellos laufen und der Fehler nicht mehr auftreten.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6936023" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author></entry><entry><title>Microsoft File Transfer Manager startet nicht mehr</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2009/02/26/microsoft-file-transfer-manager-startet-nicht-mehr.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2009/02/26/microsoft-file-transfer-manager-startet-nicht-mehr.aspx</id><published>2009-02-26T22:29:25Z</published><updated>2009-02-26T22:29:25Z</updated><content type="html">&lt;p&gt;Beim Download von meiner MSDN Subscription tauchte heute das Problem auf, dass der Microsoft File Transfer Manager nicht mehr aufgerufen wurde - folglich konnte ich nichts mehr downloaden. Erst die Eingabe folgenden Befehles in der Cmdshell schaffte Abhilfe: “regsvr32 vbscript.dll” &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6929823" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tipps &amp; Tricks" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tipps+_2600_+Tricks/default.aspx" /></entry><entry><title>Basta Spring 2009 Beispiele und Samples</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2009/02/26/basta-spring-2009-beispiele-und-samples.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2009/02/26/basta-spring-2009-beispiele-und-samples.aspx</id><published>2009-02-26T22:09:00Z</published><updated>2009-02-26T22:09:00Z</updated><content type="html">&lt;P&gt;Anmerkungen zu den Demos (Für die Demos selbst, schreibt mir ein kurzes Mail über das Kontaktformular)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Minimale MasterPage&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Diese MasterPage kann als Vorlage für die Erstellung eigener Layouts für den Sharepoint Server 2007 verwendet werden. Aktiviert ist in dieser Masterpage auch die MiniConsole, welche beim Editieren der Seite eingeblendet wird. Zu beachten ist auch, dass viele ContentPlaceHolder in einem versteckten Panel am Ende der Masterpage eingefügt sind. Diese einfach bei Bedarf auf einem sichtbaren Bereich verschieben.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Application Page Sample&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Eine Beispiel Applikations Seite für den Sharepoint. Diese muss in den Sharepoint Hive (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS) kopiert werden. Danach ist die Applikations Seite über das virtuelle _layouts Verzeichnis aufrufbar. &lt;/P&gt;
&lt;P&gt;z.B.: &lt;EM&gt;http://localhost/_layouts/HelloWorld/HelloWorld.aspx&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Beachten: Die Applikationsseiten könnnen von allen Benutzern aufgerufen werden. &lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;CustomActionsFeature&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Hierbei handelt es sich um ein kleines Feature, welches die eingebauten Sharepoint Menüs erweitert. Den Feature Ordner nach C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES kopieren und über das stsadm Kommandozeilen Tool installieren und aktivieren.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Stsadm –o installfeature –name CustomActionsFeature&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Stsadm –o activatefeature –name CustomActionsFeature –url http://localhost&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Die neuen Befehle sind danach im SiteActions Menü, in den Site Settings und bei den Document Library Menüs sichtbar.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Web.Config mit Ajax und AjaxControlToolkit Unterstützung&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Diese Web.config Datei stellt eine Beispiel Konfiguration des Sharepoint Servers dar, mit welcher das SmartPart für Ajax funktioniert. Mit dabei ist auch die Unterstützung für das AjaxControlTookit, welches zuvor installiert werden sollte. &lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;SmartPart Samples&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Diese Beispiel Web User Controls werden in die Sharepoint Site kopiert (C:\InetPub\wwwroot\wss\PortNummer\....). Danach fügen Sie das SmartPart with Ajax Webpart auf der Sharepoint Seite hinzu und können nun über die Eigenschaften des Webparts das gewünschte WebUserControl auswählen.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;AspNetSharepointIntegration&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Ein Beispiel für eine klassische ASPX Seite, welche in Sharepoint integriert wird. Solution öffnen und über Deploy installieren.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6929815" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author></entry><entry><title>Tiefer Einblick in Silverlight Anwendungen…</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/11/06/tiefer-blick-in-silverlight-anwendungen.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/11/06/tiefer-blick-in-silverlight-anwendungen.aspx</id><published>2008-11-06T08:47:00Z</published><updated>2008-11-06T08:47:00Z</updated><content type="html">&lt;P&gt;Bin gerade auf ein nettes Tool gestossen, welches die UI Elemente einer beliebigen Silverlight Application in einem Treeview darstellt, XAML extrahieren kann und die Ereignisse überwacht. Zu finden ist dieses unter &lt;A href="http://firstfloorsoftware.com/silverlightspy/download-silverlight-spy/" target=_blank mce_href="http://firstfloorsoftware.com/silverlightspy/download-silverlight-spy/"&gt;Silverlight Spy&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6723103" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Silverlight" scheme="http://weblogs.asp.net/pschneider/archive/tags/Silverlight/default.aspx" /><category term="DotNetGerman Bloggers" scheme="http://weblogs.asp.net/pschneider/archive/tags/DotNetGerman+Bloggers/default.aspx" /></entry><entry><title>PDC Videos vs. WWDC 2008 Session Videos</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/11/03/pdc-videos-vs-wwdc-2008-session-videos.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/11/03/pdc-videos-vs-wwdc-2008-session-videos.aspx</id><published>2008-11-03T07:15:24Z</published><updated>2008-11-03T07:15:24Z</updated><content type="html">&lt;p&gt;That’s the difference:    &lt;br /&gt;&lt;a href="http://channel9.msdn.com"&gt;http://channel9.msdn.com&lt;/a&gt; – Watch all PDC sessions for free.    &lt;br /&gt;&lt;a title="http://developer.apple.com/products/video/wwdc08/index.html" href="http://developer.apple.com/products/video/wwdc08/index.html"&gt;http://developer.apple.com/products/video/wwdc08/index.html&lt;/a&gt; – Pay $999 for session videos.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6717195" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="C#" scheme="http://weblogs.asp.net/pschneider/archive/tags/C_2300_/default.aspx" /><category term="Community" scheme="http://weblogs.asp.net/pschneider/archive/tags/Community/default.aspx" /></entry><entry><title>Live Messenger 2009 Beta Version</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/11/03/live-messenger-2009-beta-version.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/11/03/live-messenger-2009-beta-version.aspx</id><published>2008-11-03T07:06:39Z</published><updated>2008-11-03T07:06:39Z</updated><content type="html">&lt;p&gt;Seit einiger Zeit ist der Live Messenger in einer neuen Beta Version erhältlich. Diese hat jede Menge neuer Funktionen und unterstützt nun auch das gleichzeitige Anmelden auf mehreren Rechnern.&lt;/p&gt;  &lt;p&gt;Der Download ist hier (&lt;a title="http://download.live.com/messenger" href="http://download.live.com/messenger"&gt;http://download.live.com/messenger&lt;/a&gt;) erhältlich.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6717167" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tools" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tools/default.aspx" /><category term="Windows Live" scheme="http://weblogs.asp.net/pschneider/archive/tags/Windows+Live/default.aspx" /></entry><entry><title>Ungültige Hardwareprofilkonfiguration Huawei 3G Modem unter Vista</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/08/07/ung-252-ltige-hardwareprofilkonfiguration-huawei-3g-modem-unter-vista.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/08/07/ung-252-ltige-hardwareprofilkonfiguration-huawei-3g-modem-unter-vista.aspx</id><published>2008-08-07T06:21:19Z</published><updated>2008-08-07T06:21:19Z</updated><content type="html">&lt;p&gt;Nachdem ich eine andere USB Schnittstelle f&amp;#252;r mein Huwaei Modem genutzt habe bekam ich von heute auf morgen keine Verbindung mit dem Internet mehr zusammen. Die Fehlermeldung lautete &amp;quot;&lt;em&gt;Angegebene&lt;/em&gt; &lt;em&gt;Hardwareprofilkonfiguration ung&amp;#252;ltig&lt;/em&gt;&amp;quot;.&lt;/p&gt;  &lt;p&gt;Konnte das Problem relativ schnell l&amp;#246;sen, indem man im Ger&amp;#228;te Manager die COM Schnittstelle f&amp;#252;r den Treiber des Huawei Modems &amp;#228;ndert.&lt;/p&gt;  &lt;p&gt;Ger&amp;#228;te Manager - Modems - Huawei Mobile Connect - 3G Modem - Rechtsklick Eigenschaften - Erweitert - Anschlusseinstellungen.&lt;/p&gt;  &lt;p&gt;Danach l&amp;#228;uft's wieder wunderbar.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6494166" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tipps &amp; Tricks" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tipps+_2600_+Tricks/default.aspx" /></entry><entry><title>Powershell CmdLet for LiveContacts Get-WindowsLiveContact</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/25/powershell-cmdlet-for-livecontacts-get-windowslivecontact.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/25/powershell-cmdlet-for-livecontacts-get-windowslivecontact.aspx</id><published>2008-03-25T17:10:32Z</published><updated>2008-03-25T17:10:32Z</updated><content type="html">&lt;p&gt;The &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b5a78784-922d-4267-a6e9-5d2ecf1dced8&amp;amp;displaylang=en" target="_blank"&gt;Windows Live ID Client SDK&lt;/a&gt; documentation shows you quite well how to sign in silently or with the built-in dialog - yet there is a small problem if you want to use this within a Powershell cmdlet, because the threading model has to be set to Single Threaded Apartment State (STA).&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://blogs.msdn.com/powershell/" target="_blank"&gt;Powershell Team Blog&lt;/a&gt; has a &lt;a href="http://blogs.msdn.com/powershell/archive/2007/03/23/thread-apartmentstate-and-powershell-execution-thread.aspx" target="_blank"&gt;good entry&lt;/a&gt; on how to change the threading model.&lt;/p&gt;  &lt;p&gt;To use the Windows Live Client SDK library within a powershell cmdlet you have to start another thread and set the apartmentstate to STA, here's how to do it:&lt;/p&gt;  &lt;div&gt;ExecutionResult class:    &lt;br /&gt;    &lt;br /&gt;&lt;/div&gt;  &lt;div&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ExecutionResult
{

    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; output;
    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; Exception error;

    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Object Output
    {
        get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; output; }
        set { output = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }
    }

    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Exception Error
    {
        get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; error; }
        set { error = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }
    }
}&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;br /&gt;PerformWindowsLiveClientLogin: 

  &lt;br /&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; PerformWindowsLiveClientLogin(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; outputToWriteTo)
{
    ExecutionResult result = (ExecutionResult)outputToWriteTo;
    WindowsLiveClientLogin(result);
    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;null&lt;/span&gt; != waitHandle)
    {
        waitHandle.Set();
    }
}&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;br /&gt;WindowsLiveClientLogin: 

  &lt;br /&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; WindowsLiveClientLogin(ExecutionResult result)
{
    &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;
    {
        oIDMgr = 
            IdentityManager.CreateInstance(
               &lt;span style="color: #006080"&gt;&amp;quot;Peter Schneider;ps@ugwa.net;Windows Live Powershell CmdLets&amp;quot;&lt;/span&gt;, 
               &lt;span style="color: #006080"&gt;&amp;quot;Windows Live Powershell CmdLets&amp;quot;&lt;/span&gt;);
    }
    &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (WLLogOnException wlex) {  result.Error = wlex;  }

    &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;
    {
        oID = oIDMgr.CreateIdentity(defaultUserName);
    }
    &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (WLLogOnException wlex) { result.Error = wlex; }

    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (oID != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)
    {
        &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (oID.SavedCredentials == CredentialType.UserNameAndPassword)
        {
            &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;
            {
                &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (oID.Authenticate(AuthenticationType.Silent))
                {
                    &lt;span style="color: #008000"&gt;// User authenticated successfully&lt;/span&gt;
                }
                &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;
                {
                    &lt;span style="color: #008000"&gt;// Show Windows Live Client Login Dialog&lt;/span&gt;
                    oID.Authenticate();
                }
            }
            &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (WLLogOnException wlex) { result.Error = wlex;  }
        }
        &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;
        {
            &lt;span style="color: #008000"&gt;// Insufficient credentials saved for user, &lt;/span&gt;
            &lt;span style="color: #008000"&gt;// show Windows Live Client Login Dialog&lt;/span&gt;
            oID.Authenticate();
        }
    }

    &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;
    {
        ticket = oID.GetTicket(&lt;span style="color: #006080"&gt;&amp;quot;https://cumulus.services.live.com/&amp;quot;&lt;/span&gt; 
            + oID.UserName, &lt;span style="color: #006080"&gt;&amp;quot;MBI&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;);
    }
    &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (WLLogOnException wlex) { result.Error = wlex; }

}&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div&gt;BeginProcessing: 
  &lt;br /&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; BeginProcessing()
{

    ExecutionResult result = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ExecutionResult();
    Thread executionThread = 
        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Thread(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ParameterizedThreadStart(PerformWindowsLiveClientLogin));
    executionThread.SetApartmentState(ApartmentState.STA);
    waitHandle = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ManualResetEvent(&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;);
    executionThread.Start(result);
    waitHandle.WaitOne();

    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; uri = &lt;span style="color: #006080"&gt;@&amp;quot;https://cumulus.services.live.com/&amp;quot;&lt;/span&gt;+oID.UserName+&lt;span style="color: #006080"&gt;&amp;quot;/LiveContacts/Contacts&amp;quot;&lt;/span&gt;;

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
    request.Headers.Add(&lt;span style="color: #006080"&gt;&amp;quot;Authorization&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;WLID1.0 t=\&amp;quot;&amp;quot;&lt;/span&gt; + ticket +&lt;span style="color: #006080"&gt;&amp;quot;\&amp;quot;&amp;quot;&lt;/span&gt;);
    request.AllowAutoRedirect = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;
    request.UserAgent = &lt;span style="color: #006080"&gt;&amp;quot;WindowsLive.Contacts Powershell CmdLets&amp;quot;&lt;/span&gt;;
    request.ContentType = &lt;span style="color: #006080"&gt;&amp;quot;text/xml&amp;quot;&lt;/span&gt;;
    request.Pipelined = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;
    request.ProtocolVersion = HttpVersion.Version10;            
    request.Method = &lt;span style="color: #006080"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;;

    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    XmlDocument contacts = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlDocument();

    contacts.LoadXml(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; StreamReader(response.GetResponseStream()).ReadToEnd());

    WriteObject(contacts);
      
}&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div&gt;You can download the whole source for the CmdLet here:
  &lt;br /&gt;

  &lt;br /&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; padding-left: 0px; border-top: #dde5e9 1px solid; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 26px; background-color: #ffffff" marginheight="0" src="http://cid-c7291ccfb0fcc469.skydrive.live.com/embedrow.aspx/WindowsLive.Contacts%20CmdLet" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;

  &lt;br /&gt;

  &lt;br /&gt;Install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b5a78784-922d-4267-a6e9-5d2ecf1dced8&amp;amp;displaylang=en" target="_blank"&gt;Windows Live Client SDK&lt;/a&gt;,&amp;#160; compile the cmdlet and afterwards use:

  &lt;br /&gt;&lt;/div&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;installutil /i WindowsLive.Contacts
add-pssnapin WindowsLive.Contacts&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;to use the cmdlet in powershell. If installing on Vista, please remember to run powershell as Administrator.&lt;/p&gt;

&lt;p&gt;Here are some sample scripts to get started:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enumerate all WindowsLive Contacts using Windows Live Client SDK Login Dialog:&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;$result = get-windowslivecontact

$result.Contacts.Contact | select WindowsLiveId&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Enumerate all WindowsLive Contacts using Silent Login:&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;$result = get-windowslivecontact -WindowsLiveId &lt;span style="color: #006080"&gt;&amp;quot;your@liveid.com&amp;quot;&lt;/span&gt;

$result.Contacts.Contact | select WindowsLiveId&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Show WindowsLiveId from several Windows Live Accounts using SilentLogin&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #006080"&gt;&amp;quot;first@live.com&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;second@live.com&amp;quot;&lt;/span&gt; | % { get-windowslivecontact -WindowsLiveId $_ } | select WindowsLiveId&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The Cmdlet returns the XmlDocument, which can easily be accessed via dot notation:&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;$result = get-windowslivecontact 

$result.Contacts.Contact[0].Profiles.Personal&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;If you don't want to use the Windows Live Client SDK, take a look at this &lt;a href="http://weblogs.asp.net/pschneider/archive/2008/03/21/atomspacesphotos-browser-sample-application.aspx" target="_blank"&gt;sample&lt;/a&gt;, which uses a RPS ticket for authentication - you can easily adopt the sample.&lt;/p&gt;

&lt;p&gt;There are many things you could add to this sample. Use it as a starting point - yet I would be happy to here from extensions.. &lt;img alt="smile_tongue" src="http://spaces.live.com/rte/emoticons/smile_tongue.gif" /&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6024472" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="C#" scheme="http://weblogs.asp.net/pschneider/archive/tags/C_2300_/default.aspx" /><category term="Powershell" scheme="http://weblogs.asp.net/pschneider/archive/tags/Powershell/default.aspx" /><category term="Windows Live" scheme="http://weblogs.asp.net/pschneider/archive/tags/Windows+Live/default.aspx" /></entry><entry><title>AtomSpacesPhotos Browser Sample Application</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/21/atomspacesphotos-browser-sample-application.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/21/atomspacesphotos-browser-sample-application.aspx</id><published>2008-03-21T20:43:00Z</published><updated>2008-03-21T20:43:00Z</updated><content type="html">&lt;P&gt;If you have seen &lt;A href="http://sessions.visitmix.com/?selectedSearch=T19" target=_blank mce_href="http://sessions.visitmix.com/?selectedSearch=T19"&gt;Pablo Castro's MIX Session&lt;/A&gt; about accessing the &lt;STRONG&gt;Windows Live Services via Atom Publishing Protocol&lt;/STRONG&gt; and want to play yourself with the protocol, I've built a quick and dirty WinForms app, which logs you in with your Windows Live ID and allows you to edit the request uri. &lt;/P&gt;
&lt;P&gt;It&lt;EM&gt; doesn't&lt;/EM&gt; use the &lt;A href="http://msdn2.microsoft.com/en-us/library/bb404787.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/bb404787.aspx"&gt;Windows Live Client SDK&lt;/A&gt;, but uses a Rps ticket, which we get via SOAP request.&lt;/P&gt;
&lt;P&gt;You should first add the photo module to your spaces account (&lt;A href="http://spaces.live.com/" mce_href="http://spaces.live.com"&gt;http://spaces.live.com&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Afterwards you can connect with your Windows Live ID and password and examine your space...&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/AtomSpacesPhotosBrowserSampleApplication_12100/CropperCapture%5B4%5D_2.jpg" mce_href="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/AtomSpacesPhotosBrowserSampleApplication_12100/CropperCapture%5B4%5D_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" border=0 alt=CropperCapture[4] src="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/AtomSpacesPhotosBrowserSampleApplication_12100/CropperCapture%5B4%5D_thumb.jpg" width=542 height=394 mce_src="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/AtomSpacesPhotosBrowserSampleApplication_12100/CropperCapture%5B4%5D_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Download the sample application here:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IFRAME style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 26px; BACKGROUND-COLOR: #ffffff" marginHeight=0 src="http://cid-c7291ccfb0fcc469.skydrive.live.com/embedrow.aspx/AtomPubSample" frameBorder=0 marginWidth=0 scrolling=no mce_src="http://cid-c7291ccfb0fcc469.skydrive.live.com/embedrow.aspx/AtomPubSample"&gt;&lt;/IFRAME&gt;&lt;/P&gt;
&lt;P&gt;Be aware that the sample application writes to C:\Temp and does &lt;STRONG&gt;not&lt;/STRONG&gt; delete the downloaded information - so do yourself if you use the app on a different computer.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Background information:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The challenging part is more or less how to get authenticated within the winforms application. Most of the &lt;A href="http://msdn2.microsoft.com/en-us/library/cc304585.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/cc304585.aspx"&gt;samples and documentation&lt;/A&gt; uses the &lt;A href="http://msdn2.microsoft.com/en-us/library/cc287637.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/cc287637.aspx"&gt;delegated authentication model&lt;/A&gt;, which can only be used by webapplications.&lt;/P&gt;
&lt;P&gt;For this browser I've used the &lt;STRONG&gt;TicketAcquirer&lt;/STRONG&gt; class, which I found on &lt;A href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1686529&amp;amp;SiteID=1" target=_blank mce_href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1686529&amp;amp;SiteID=1"&gt;MSDN Forums&lt;/A&gt;. At least I've found several versions, some working, some not. This one works, and I've slightly modificated it, so that you can pass your username and password along.&lt;/P&gt;
&lt;P&gt;FYI: If you are behind a proxy you might want to add a new instance of a WebProxy class to the request...&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 8pt; BORDER-TOP: gray 1px solid; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; WIDTH: 109.91%; CURSOR: text; MAX-HEIGHT: 400px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; FONT-FAMILY: consolas, 'Courier New', courier, monospace; HEIGHT: 283px; BACKGROUND-COLOR: #f4f4f4"&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; TicketAcquirer
{
    &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;const&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; applicationId = &lt;SPAN style="COLOR: #006080"&gt;"10"&lt;/SPAN&gt;; 

    &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; soapEnvelope = &lt;SPAN style="COLOR: #006080"&gt;@"&amp;lt;s:Envelope
      xmlns:s = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://www.w3.org/2003/05/soap-envelope"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:wsse = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:saml = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"urn:oasis:names:tc:SAML:1.0:assertion"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:wsp = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.xmlsoap.org/ws/2004/09/policy"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:wsu = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:wsa = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://www.w3.org/2005/08/addressing"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:wssc = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.xmlsoap.org/ws/2005/02/sc"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"
      xmlns:wst = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.xmlsoap.org/ws/2005/02/trust"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;
      &amp;lt;s:Header&amp;gt;
       &amp;lt;wlid:ClientInfo xmlns:wlid = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.microsoft.com/wlid"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;
         &amp;lt;wlid:ApplicationID&amp;gt;{0}&amp;lt;/wlid:ApplicationID&amp;gt;
       &amp;lt;/wlid:ClientInfo&amp;gt;
       &amp;lt;wsa:Action s:mustUnderstand = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue&amp;lt;/wsa:Action&amp;gt;
       &amp;lt;wsa:To s:mustUnderstand = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;https://dev.login.live.com/wstlogin.srf&amp;lt;/wsa:To&amp;gt;
       &amp;lt;wsse:Security&amp;gt;
         &amp;lt;wsse:UsernameToken wsu:Id = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"user"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;
           &amp;lt;wsse:Username&amp;gt;{1}&amp;lt;/wsse:Username&amp;gt;
           &amp;lt;wsse:Password&amp;gt;{2}&amp;lt;/wsse:Password&amp;gt;
         &amp;lt;/wsse:UsernameToken&amp;gt;
       &amp;lt;/wsse:Security&amp;gt;
     &amp;lt;/s:Header&amp;gt;
     &amp;lt;s:Body&amp;gt;
       &amp;lt;wst:RequestSecurityToken Id = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"RST0"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;
         &amp;lt;wst:RequestType&amp;gt;http://schemas.xmlsoap.org/ws/2005/02/trust/Issue&amp;lt;/wst:RequestType&amp;gt;
         &amp;lt;wsp:AppliesTo&amp;gt;
            &amp;lt;wsa:EndpointReference&amp;gt;
               &amp;lt;wsa:Address&amp;gt;http://live.com&amp;lt;/wsa:Address&amp;gt;
            &amp;lt;/wsa:EndpointReference&amp;gt;
         &amp;lt;/wsp:AppliesTo&amp;gt;
         &amp;lt;wsp:PolicyReference URI = "&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"MBI"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #006080"&gt;"&amp;gt;&amp;lt;/wsp:PolicyReference&amp;gt;
      &amp;lt;/wst:RequestSecurityToken&amp;gt;
     &amp;lt;/s:Body&amp;gt;
     &amp;lt;/s:Envelope&amp;gt;"&lt;/SPAN&gt;;

    &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; GetTicket(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; username, &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; password)
    {
        soapEnvelope = String.Format(soapEnvelope, &lt;SPAN style="COLOR: #006080"&gt;"10"&lt;/SPAN&gt;, username, password);

        &lt;SPAN style="COLOR: #0000ff"&gt;const&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; url = &lt;SPAN style="COLOR: #006080"&gt;@"https://dev.login.live.com/wstlogin.srf"&lt;/SPAN&gt;;
        WebRequest request = WebRequest.Create(url);
        request.Method = &lt;SPAN style="COLOR: #006080"&gt;"POST"&lt;/SPAN&gt;;
        request.ContentType = &lt;SPAN style="COLOR: #006080"&gt;"application/soap+xml; charset=UTF-8"&lt;/SPAN&gt;;
        request.Timeout = 10 * 1000;
        &lt;SPAN style="COLOR: #0000ff"&gt;byte&lt;/SPAN&gt;[] bytes = System.Text.Encoding.UTF8.GetBytes(soapEnvelope);
        request.GetRequestStream().Write(bytes, 0, bytes.Length);
        request.GetRequestStream().Close();
        WebResponse response;
        response = request.GetResponse();
        &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; xml;
        &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; (System.IO.StreamReader reader = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; System.IO.StreamReader(response.GetResponseStream()))
            xml = reader.ReadToEnd();
        response.Close();
        XmlDocument document = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; XmlDocument();
        document.LoadXml(xml);
        XmlNamespaceManager nsManager = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; XmlNamespaceManager(document.NameTable);
        nsManager.AddNamespace(&lt;SPAN style="COLOR: #006080"&gt;"wsse"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #006080"&gt;"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&lt;/SPAN&gt;);
        XmlNode node = document.SelectSingleNode(&lt;SPAN style="COLOR: #006080"&gt;@"//wsse:BinarySecurityToken/text()"&lt;/SPAN&gt;, nsManager);
        &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; (node == &lt;SPAN style="COLOR: #0000ff"&gt;null&lt;/SPAN&gt;)
            &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;null&lt;/SPAN&gt;;
        &lt;SPAN style="COLOR: #0000ff"&gt;else&lt;/SPAN&gt;
            &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; node.Value;
    }

}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;The usage of the class is really simple:&lt;/P&gt;
&lt;DIV&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;TicketAcquirer ta = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; TicketAcquirer();
ticket = ta.GetTicket(txtUsername.Text, txtPassword.Text);&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;We can use the ticket in further requests:&lt;/P&gt;
&lt;DIV&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Headers.Add(&lt;SPAN style="COLOR: #006080"&gt;"Authorization"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #006080"&gt;"WLID1.0 t=\""&lt;/SPAN&gt; + ticket + &lt;SPAN style="COLOR: #006080"&gt;"\""&lt;/SPAN&gt;);
request.AllowAutoRedirect = &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;;
request.UserAgent = &lt;SPAN style="COLOR: #006080"&gt;"AtomPub Sample"&lt;/SPAN&gt;;
request.ContentType = &lt;SPAN style="COLOR: #006080"&gt;"text/xml"&lt;/SPAN&gt;;
request.Pipelined = &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;;
request.ProtocolVersion = HttpVersion.Version10;
request.Method = &lt;SPAN style="COLOR: #006080"&gt;"GET"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;Review the documentation at &lt;A href="http://msdn2.microsoft.com/en-us/library/cc304585.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/cc304585.aspx"&gt;samples and documentation&lt;/A&gt; and play yourself.. &lt;IMG alt=smile_tongue src="http://spaces.live.com/rte/emoticons/smile_tongue.gif" mce_src="http://spaces.live.com/rte/emoticons/smile_tongue.gif"&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6007231" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="C#" scheme="http://weblogs.asp.net/pschneider/archive/tags/C_2300_/default.aspx" /><category term="Windows Live" scheme="http://weblogs.asp.net/pschneider/archive/tags/Windows+Live/default.aspx" /></entry><entry><title>Planetary-Scale Views on an Instant-Messaging Network</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/17/planetary-scale-views-on-an-instant-messaging-network.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/17/planetary-scale-views-on-an-instant-messaging-network.aspx</id><published>2008-03-17T12:07:46Z</published><updated>2008-03-17T12:07:46Z</updated><content type="html">&lt;p&gt;Here's a link to a quite interesting study, you might be interested in. It actually presents a study of anonymized data capturing a month of high-level communication activities within the whole of the Microsoft Messenger instant-messaging system. &lt;/p&gt;  &lt;p&gt;Quite funny: Which country do you think has the largest number of Messenger users?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://arxiv.org/PS_cache/arxiv/pdf/0803/0803.0939v1.pdf" target="_blank"&gt;Click here for the study&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5987350" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Community" scheme="http://weblogs.asp.net/pschneider/archive/tags/Community/default.aspx" /></entry><entry><title>Switch Right Windows and Right Alt Key</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/13/switch-right-windows-and-right-alt-key.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/13/switch-right-windows-and-right-alt-key.aspx</id><published>2008-03-13T12:42:00Z</published><updated>2008-03-13T12:42:00Z</updated><content type="html">&lt;P&gt;I've just bought a Apple Keyboard (USB) and wanted to switch the key mapping of the right windows and right alt key..&lt;/P&gt;
&lt;P&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] &lt;BR&gt;"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,5c,e0,38,e0,38,e0,5c,e0,\ &lt;BR&gt;&amp;nbsp; 00,00,00,00&lt;/P&gt;
&lt;P&gt;To swap both the left and the right Windows and Alt Key use:&lt;/P&gt;
&lt;P&gt;Windows Registry Editor Version 5.00&lt;/P&gt;
&lt;P&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]&lt;BR&gt;"Scancode Map"=hex:00,00,00,00,00,00,00,00,07,00,00,00,37,e0,64,00,5b,e0,38,00,\&lt;BR&gt;&amp;nbsp; 38,00,5b,e0,5c,e0,38,e0,38,e0,5c,e0,47,e0,63,e0,00,00,00,00&lt;/P&gt;
&lt;P&gt;Reboot or log off afterwards.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5960436" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tipps &amp;amp; Tricks" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tipps+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Open Url Activity for IE8</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/09/open-url-activity-for-ie8.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/09/open-url-activity-for-ie8.aspx</id><published>2008-03-09T19:15:29Z</published><updated>2008-03-09T19:15:29Z</updated><content type="html">&lt;p&gt;More or less often you find Url's in webpages (for example in forum comments) which are not hyperlinked.&lt;/p&gt;  &lt;p&gt;You then Copy and Paste the Url into the Browser's address bar to open it. With this little IE8 activity you can open the Url via the activity smarttag.    &lt;br /&gt;&lt;a href="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/OpenUrlActivityforIE8_11CDB/OpenUrlActivity_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="OpenUrlActivity" src="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/OpenUrlActivityforIE8_11CDB/OpenUrlActivity_thumb.jpg" width="455" height="299" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As the {selection} variable is not accepted in the action attribute of the execute element, I've entered the [your domain] placeholder, which you might want to change to your domain to get the sample running.&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;      &lt;br /&gt;&amp;lt;openServiceDescription xmlns=&amp;quot;&lt;/font&gt;&lt;a href="http://www.microsoft.com/schemas/openservicedescription/1.0" ?="?"&gt;&lt;font face="Courier New"&gt;http://www.microsoft.com/schemas/openservicedescription/1.0&amp;quot;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;gt;      &lt;br /&gt;&amp;lt;homepageUrl&amp;gt;&lt;/font&gt;&lt;font face="Courier New"&gt;http://[your domain]&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;lt;/homepageUrl&amp;gt;      &lt;br /&gt;&amp;lt;display&amp;gt;       &lt;br /&gt;&amp;lt;name&amp;gt;Open URL in Browser&amp;lt;/name&amp;gt;       &lt;br /&gt;&amp;lt;icon&amp;gt;&lt;/font&gt;&lt;a href="http://www.live.com/favicon.ico"&gt;&lt;font face="Courier New"&gt;http://www.live.com/favicon.ico&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;lt;/icon&amp;gt;      &lt;br /&gt;&amp;lt;/display&amp;gt;       &lt;br /&gt;&amp;lt;activity category=&amp;quot;share&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;activityAction context=&amp;quot;selection&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;preview action=&amp;quot; &lt;/font&gt;&lt;a href="http://[your domain]/Redirect.aspx" ?="?"&gt;&lt;font face="Courier New"&gt;http://[your domain]/Redirect.aspx&amp;quot;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;parameter name=&amp;quot;url&amp;quot; value=&amp;quot;{selection}&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/preview&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;execute action=&amp;quot; &lt;/font&gt;&lt;a href="http://[your domain]/Redirect.aspx" ?="?"&gt;&lt;font face="Courier New"&gt;http://[your domain]/Redirect.aspx&amp;quot;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;parameter name=&amp;quot;url&amp;quot; value=&amp;quot;{selection}&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/execute&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/activityAction&amp;gt;       &lt;br /&gt;&amp;lt;/activity&amp;gt;       &lt;br /&gt;&amp;lt;/openServiceDescription&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;To get this sample running save the above code snippet to a XML file and upload it to [your domain] and save it as OpenUrlActivity.xml&lt;/p&gt;  &lt;p&gt;You then need a little &amp;quot;install&amp;quot; routine:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;button onclick=&amp;quot;window.external.addService('&lt;/font&gt;&lt;a href="http://[your domain]/OpenUrlActivity.xml')" ?="?"&gt;&lt;font face="Courier New"&gt;http://[your domain]/OpenUrlActivity.xml')&amp;quot;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;gt;Add OpenUrl Activity      &lt;br /&gt;&amp;lt;/button&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Needless to say that you also need the Redirect.aspx where you redirect the user to the value passed with the url parameter. &lt;/p&gt;  &lt;p&gt;For a detailed description of the Activity XML Format see &lt;a title="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=ie8whitepapers&amp;amp;ReleaseId=566" href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=ie8whitepapers&amp;amp;ReleaseId=566"&gt;http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=ie8whitepapers&amp;amp;ReleaseId=566&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5940953" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tipps &amp; Tricks" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tipps+_2600_+Tricks/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/pschneider/archive/tags/General+Software+Development/default.aspx" /></entry><entry><title>Academic Community Launch 2008 Austria</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/03/academic-community-launch-2008-austria.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/03/academic-community-launch-2008-austria.aspx</id><published>2008-03-03T17:58:28Z</published><updated>2008-03-03T17:58:28Z</updated><content type="html">&lt;p&gt;&lt;a href="http://alexduggleby.com"&gt;Alex&lt;/a&gt;, &lt;a href="http://vb-magazin.de/forums/blogs/mario_meir-huber/default.aspx"&gt;Mario&lt;/a&gt;, &lt;a href="http://www.imagineclub.at/"&gt;Horst&lt;/a&gt; and &lt;a href="http://liensberger.it/web/blog/"&gt;Christian&lt;/a&gt; are organizing the so called &lt;a href="http://www.anuga.at"&gt;&amp;#8220;Academic Community Launch 2008&amp;#8243;&lt;/a&gt; in &lt;a href="http://en.wikipedia.org/wiki/Austria"&gt;Austria&lt;/a&gt;. &lt;img alt="8)" src="http://www.liensberger.it/web/blog/wp-includes/images/smilies/icon_cool.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/AcademicCommunityLaunch2008Austria_10AC7/communitylaunch_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="251" alt="communitylaunch" src="http://weblogs.asp.net/blogs/pschneider/WindowsLiveWriter/AcademicCommunityLaunch2008Austria_10AC7/communitylaunch_thumb.png" width="375" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The community launch is &lt;strong&gt;free for students and interested people&lt;/strong&gt; (free as you don&amp;#8217;t have to pay any entry fee and you get something to drink and eat for free). They are going to talk about the new features in Visual Studio 2008 (Mario), the new data features in .NET 3.5, SQL Server 2008 and beyond (Alex) and the new features in .NET 3.5 such as LINQ, anonymous types, lambda expressions, XML literals, own LINQ providers, &amp;#8230; (Christian).&lt;/p&gt;  &lt;p&gt;The talks are going to be in German and they will tour all Austria; including &lt;a href="http://en.wikipedia.org/wiki/Salzburg"&gt;Salzburg&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Linz"&gt;Linz&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Hagenberg"&gt;Hagenberg&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Innsbruck"&gt;Innsbruck&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Wien"&gt;Wien&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Graz"&gt;Graz&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Klagenfurt"&gt;Klagenfurt&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5907031" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Community" scheme="http://weblogs.asp.net/pschneider/archive/tags/Community/default.aspx" /></entry></feed>