<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>OhmBlog</title>
    <link>https://www.gazitt.com/blog/</link>
    <description>Omri's WCF/WF propaganda machine :-)</description>
    <language>en-us</language>
    <copyright>Omri Gazitt</copyright>
    <lastBuildDate>Tue, 27 Jan 2009 23:52:17 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>omri@gazitt.com</managingEditor>
    <webMaster>omri@gazitt.com</webMaster>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=c09b3484-5155-4080-88d5-d0bdf9a0b667</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,c09b3484-5155-4080-88d5-d0bdf9a0b667.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,c09b3484-5155-4080-88d5-d0bdf9a0b667.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c09b3484-5155-4080-88d5-d0bdf9a0b667</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Our good friends at <a href="http://www.pluralsight.com/main/">Pluralsight</a> wrote
some great whitepapers that introduce developers to .NET Services.  They are
all available on the .NET Services MSDN <a href="http://msdn.microsoft.com/en-us/azure/netservices.aspx">Dev
Center</a>.  The best place to start is Aaron's <a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;p=1&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Introduction%20to%20Microsoft%20.NET%20Services.docx&amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C%201647&amp;DisplayLang=en&amp;freetext=.net%20services&amp;sortCriteria=popularity&amp;sortOrder=ascending&amp;nr=20">intro</a>,
and then based on what you're interested in, there's a paper on each of the <a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;p=2&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Microsoft%20.NET%20Access%20Control%20Service.docx&amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C+1647&amp;DisplayLang=en&amp;freetext=.net+services&amp;sortCriteria=popularity&amp;sortOrder=ascending&amp;nr=20">.NET
Access Control Service</a>, <a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;p=3&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Microsoft%20.NET%20Service%20Bus.docx&amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C+1647&amp;DisplayLang=en&amp;freetext=.net+services&amp;sortCriteria=popularity&amp;sortOrder=ascending&amp;nr=20">.NET
Service Bus</a>, and <a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;p=4&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Microsoft%20.NET%20Workflow%20Service.docx&amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C+1647&amp;DisplayLang=en&amp;freetext=.net+services&amp;sortCriteria=popularity&amp;sortOrder=ascending&amp;nr=20">.NET
Workflow Service</a>.  
</p>
        <p>
Happy reading!
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=c09b3484-5155-4080-88d5-d0bdf9a0b667" />
      </body>
      <title>.NET Services Whitepapers</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,c09b3484-5155-4080-88d5-d0bdf9a0b667.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,c09b3484-5155-4080-88d5-d0bdf9a0b667.aspx</link>
      <pubDate>Tue, 27 Jan 2009 23:52:17 GMT</pubDate>
      <description>&lt;p&gt;
Our good friends at &lt;a href="http://www.pluralsight.com/main/"&gt;Pluralsight&lt;/a&gt; wrote
some great whitepapers that introduce developers to .NET Services.&amp;nbsp; They are
all available on the .NET Services MSDN &lt;a href="http://msdn.microsoft.com/en-us/azure/netservices.aspx"&gt;Dev
Center&lt;/a&gt;.&amp;nbsp; The best place to start is Aaron's &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;amp;p=1&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Introduction%20to%20Microsoft%20.NET%20Services.docx&amp;amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C%201647&amp;amp;DisplayLang=en&amp;amp;freetext=.net%20services&amp;amp;sortCriteria=popularity&amp;amp;sortOrder=ascending&amp;amp;nr=20"&gt;intro&lt;/a&gt;,
and then based on what you're interested in, there's a paper on each of the &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;amp;p=2&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Microsoft%20.NET%20Access%20Control%20Service.docx&amp;amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C+1647&amp;amp;DisplayLang=en&amp;amp;freetext=.net+services&amp;amp;sortCriteria=popularity&amp;amp;sortOrder=ascending&amp;amp;nr=20"&gt;.NET
Access Control Service&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;amp;p=3&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Microsoft%20.NET%20Service%20Bus.docx&amp;amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C+1647&amp;amp;DisplayLang=en&amp;amp;freetext=.net+services&amp;amp;sortCriteria=popularity&amp;amp;sortOrder=ascending&amp;amp;nr=20"&gt;.NET
Service Bus&lt;/a&gt;, and &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;amp;p=4&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;amp;u=http://download.microsoft.com/download/9/0/A/90AE8BDF-F611-4808-986B-43DC7C7D7B25/Microsoft%20.NET%20Workflow%20Service.docx&amp;amp;oRef=http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7C+1647&amp;amp;DisplayLang=en&amp;amp;freetext=.net+services&amp;amp;sortCriteria=popularity&amp;amp;sortOrder=ascending&amp;amp;nr=20"&gt;.NET
Workflow Service&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Happy reading!
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=c09b3484-5155-4080-88d5-d0bdf9a0b667" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,c09b3484-5155-4080-88d5-d0bdf9a0b667.aspx</comments>
      <category>.NET Services</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=9515fe54-0dcd-4b0b-ab67-de134fdb17e1</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,9515fe54-0dcd-4b0b-ab67-de134fdb17e1.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,9515fe54-0dcd-4b0b-ab67-de134fdb17e1.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=9515fe54-0dcd-4b0b-ab67-de134fdb17e1</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I normally use dasblog's web interface to write blog entries, and find it to be adequate
from a formatting perspective, and convenient because it's just a web app that I can
run from anywhere.  I decided to try out WLW to see whether there is any advantage
in using a "rich client" app for creating blog entries.  
</p>
        <p>
I have to say it's a cool little app.  It doesn't give me much in the way of
formatting beyond the standard web interface to dasblog, but it has a couple of goodies,
like adding block quotes, tables, and tags.  
</p>
        <p>
The biggest feature for me is the ability to type a draft and have it saved, even
if publishing to the blog fails for some reason.  I've certainly had my share
of blog entries that didn't get posted properly using the dasblog web interface, and
even if I remember to keep the text in my clipboard before posting, it's still annoying
to have to recreate any formatting.  So that feature alone makes WLW worth it
for me.
</p>
        <p>
There are a couple of other features that are missing some obvious integration with
popular websites.  For example, inserting a video offers integration with MSN
Video Soapbox, but not with youtube.  It would also be nice to have the "insert
picture" functionality integrate with something like Flickr.  But wait a minute
- that functionality does exist... in the way of a user-written plug-in :-)
</p>
        <p>
Which brings me to the coolest feature of WLW - the extensibility.  The WL <a href="http://gallery.live.com/results.aspx?c=0&amp;bt=9&amp;pl=8&amp;st=5">gallery</a> has
112  plug-ins that include integration with Flickr, the ability to insert properly
formatted code (from VS or from the clipboard), firefox integration, format a picture
as a polaroid, and many others.
</p>
        <p>
The other interesting thing is how much of dasblog's functionality is exposed via
web services, and how well WLW integrates with those web services.  For example,
the categories are all downloaded when I first set up WLW with my blog.  That
really lives up to the vision of having a web services layer that's consumable from
either a rich client app or from a web interface.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:edc27596-0725-4619-b306-8bcc3723ed87" class="wlWriterSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/Windows%20Live%20Writer" rel="tag">Windows
Live Writer</a></div>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=9515fe54-0dcd-4b0b-ab67-de134fdb17e1" />
      </body>
      <title>Windows Live Writer</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,9515fe54-0dcd-4b0b-ab67-de134fdb17e1.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,9515fe54-0dcd-4b0b-ab67-de134fdb17e1.aspx</link>
      <pubDate>Sat, 03 Jan 2009 08:01:47 GMT</pubDate>
      <description>&lt;p&gt;
I normally use dasblog's web interface to write blog entries, and find it to be adequate
from a formatting perspective, and convenient because it's just a web app that I can
run from anywhere.&amp;nbsp; I decided to try out WLW to see whether there is any advantage
in using a "rich client" app for creating blog entries.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I have to say it's a cool little app.&amp;nbsp; It doesn't give me much in the way of
formatting beyond the standard web interface to dasblog, but it has a couple of goodies,
like adding block quotes, tables, and tags.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
The biggest feature for me is the ability to type a draft and have it saved, even
if publishing to the blog fails for some reason.&amp;nbsp; I've certainly had my share
of blog entries that didn't get posted properly using the dasblog web interface, and
even if I remember to keep the text in my clipboard before posting, it's still annoying
to have to recreate any formatting.&amp;nbsp; So that feature alone makes WLW worth it
for me.
&lt;/p&gt;
&lt;p&gt;
There are a couple of other features that are missing some obvious integration with
popular websites.&amp;nbsp; For example, inserting a video offers integration with MSN
Video Soapbox, but not with youtube.&amp;nbsp; It would also be nice to have the "insert
picture" functionality integrate with something like Flickr.&amp;nbsp; But wait a minute
- that functionality does exist... in the way of a user-written plug-in :-)
&lt;/p&gt;
&lt;p&gt;
Which brings me to the coolest feature of WLW - the extensibility.&amp;nbsp; The WL &lt;a href="http://gallery.live.com/results.aspx?c=0&amp;amp;bt=9&amp;amp;pl=8&amp;amp;st=5"&gt;gallery&lt;/a&gt; has
112&amp;nbsp; plug-ins that include integration with Flickr, the ability to insert properly
formatted code (from VS or from the clipboard), firefox integration, format a picture
as a polaroid, and many others.
&lt;/p&gt;
&lt;p&gt;
The other interesting thing is how much of dasblog's functionality is exposed via
web services, and how well WLW integrates with those web services.&amp;nbsp; For example,
the categories are all downloaded when I first set up WLW with my blog.&amp;nbsp; That
really lives up to the vision of having a web services layer that's consumable from
either a rich client app or from a web interface.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:edc27596-0725-4619-b306-8bcc3723ed87" class="wlWriterSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Windows%20Live%20Writer" rel="tag"&gt;Windows
Live Writer&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=9515fe54-0dcd-4b0b-ab67-de134fdb17e1" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,9515fe54-0dcd-4b0b-ab67-de134fdb17e1.aspx</comments>
      <category>Blogging</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=1008730e-f121-4fbb-acee-40db08c4bd90</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,1008730e-f121-4fbb-acee-40db08c4bd90.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,1008730e-f121-4fbb-acee-40db08c4bd90.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1008730e-f121-4fbb-acee-40db08c4bd90</wfw:commentRss>
      <title>Service Bus in Azure</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,1008730e-f121-4fbb-acee-40db08c4bd90.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,1008730e-f121-4fbb-acee-40db08c4bd90.aspx</link>
      <pubDate>Fri, 19 Dec 2008 01:37:02 GMT</pubDate>
      <description>&lt;p&gt;
Martin Heller posted a nice &lt;a href="http://www.infoworld.com/article/08/12/15/51TC-azure-preview_1.html"&gt;article&lt;/a&gt; about
the Azure Services Platform CTP's.
&lt;/p&gt;
&lt;p&gt;
Martin did a good job talking about what pulls the platform together... it's a set
of loosely coupled services, that offer&amp;nbsp;standard&amp;nbsp;(REST / SOAP)&amp;nbsp;API's
that are easy to consume from any platform.&amp;nbsp; You can use all of these services
separately (e.g. use the SQL Data Services from an app hosted on GoDaddy), but the
idea is that Microsoft gives you a single, cohesive platform to build cloud-based
or cloud-aware applications, including being able to host web pages and (WCF) web
servcies, being able to authorize access to those services, being able to exchange
messages between those services and any other applications...
&lt;/p&gt;
&lt;p&gt;
Martin characterized .NET Services in the following way:
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;.Net
Services include the .Net Access Control Service, which controls access to Web resources
using security tokens; the .Net Service Bus, which is a discoverable registry of Web
end points; and the .Net Workflow Service, which is a sequential workflow controller.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
I think the descriptions for Access Control and Workflow are good, but the Service
Bus bears further elaboration.
&lt;/p&gt;
&lt;p&gt;
The way I would describe the Service Bus is as a &lt;em&gt;firewall-friendly, Internet-scale
pub-sub messaging system&lt;/em&gt;.&amp;nbsp; What you do with the Service Bus is quite simple.&amp;nbsp;
Just like in any Enterprise Service Bus, you have subscribers&amp;nbsp;or receivers that
listen to messages coming on a particular address, and you have publishers or senders
that can send messages to that address.&amp;nbsp; You can have one or more subcribers
- one subscriber is just a degenerate case of the more general "one-to-many" pattern.
&lt;/p&gt;
&lt;p&gt;
So what is new and different about this kind of Service Bus?&amp;nbsp; It allows you to
send and receive messages across any network topology, and facilitates security across
trust domains.&amp;nbsp; For example, I can have a receiver sitting behind a corporate
firewall, and the sender be a .NET Workflow Service (using the CloudServiceBusSend
activity).&amp;nbsp; The Service Bus automatically ensures delivery of the message.
&lt;/p&gt;
&lt;p&gt;
The nice thing is that the sender or receiver doesn't have to be a .NET application
- it can be a Java app or a Ruby app.&amp;nbsp; We have &lt;a href="http://portal.ex.azure.microsoft.com/sdk.aspx"&gt;SDK's&lt;/a&gt; for
those posted on our &lt;a href="http://portal.ex.azure.microsoft.com/"&gt;portal&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
So we have this Service Bus in the cloud, but&amp;nbsp;in order to make it usable by&amp;nbsp;.NET
developers, we've added some&amp;nbsp;.NET classes that integrate it with WCF, the .NET
communications framework.&amp;nbsp; That integration comes in the form of a Service Bus
binding, which is a peer to the existing bindings (basicHttpBinding, webHttpBinding,
wsHttpBinding, etc).&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
The simplest thing you can do with that binding is to put your service on the Internet.&amp;nbsp;
By adding a Service Bus endpoint to your list of endpoints, you are effectively giving
your service an Internet-accessible address, even if your service is sitting behind
a firewall.&amp;nbsp; That's because Service Bus has a relay built-in.
&lt;/p&gt;
&lt;p&gt;
Building a multicast system is just as easy.&amp;nbsp; A listener is simply a service
that uses the Service Bus binding to listen on a particular address, and there can
be more than one.&amp;nbsp; A sender is simply a client-side proxy that sends a WCF message
to that address.&amp;nbsp; It's really as simple as that.
&lt;/p&gt;
&lt;p&gt;
What is that address, you may ask?&amp;nbsp; Very simple.&amp;nbsp; Your .NET Services account
has a name.&amp;nbsp; Martin's was evidently called "iw_mh_azure".&amp;nbsp; Martin effectively
owns sb://servicebus.windows.net/iw_mh_azure and everything under it.&amp;nbsp;He can
pick any address he wants as long as it's&amp;nbsp;under that root in the service bus
namespace. &amp;nbsp;That's why the accounts have to be unique :-) 
&lt;/p&gt;
&lt;p&gt;
So you may ask, what is Martin talking about when he mentions this "&lt;font color=#000000 size=3 face=Calibri&gt;discoverable
registry of Web end points&lt;/font&gt;"?
&lt;/p&gt;
&lt;p&gt;
It turns out that Service Bus has one additional cool feature, which is that you can
configure a service that uses the Service Bus binding to automatically add itself
to an AtomPub Service Document that we have at the root of your&amp;nbsp;portion of the&amp;nbsp;Service
Bus namespace.&amp;nbsp; So Martin could create a service called HelloWorld and give it
the address sb://servicebus.windows.net/iw_mh_azure/HelloWorld, and if he navigated
to http://servicebus.windows.net/iw_mh_azure, he'd see an AtomPub feed with an entry
for that service.&amp;nbsp; And if that service supported GET and returned an AtomPub
feed, Martin (or any of his users) could navigate that AtomPub document.&amp;nbsp; While
cool, I don't think of this feature as the most important one, hence this blog post
:-)
&lt;/p&gt;
&lt;p&gt;
That's about it... if this all sounds interesting, go to &lt;a href="http://www.azure.com"&gt;www.azure.com&lt;/a&gt; and
follow the sign-up instructions.&amp;nbsp; We make you sign up on Microsoft Connect, but
we've basically caught up with the waiting list and have provisioned almost everyone
that's signed up with a .NET Services / SQL Data Services account, so your wait shouldn't
be long...
&lt;/p&gt;
&lt;p&gt;
Happy coding :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=1008730e-f121-4fbb-acee-40db08c4bd90" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,1008730e-f121-4fbb-acee-40db08c4bd90.aspx</comments>
      <category>Indigo AKA WCF;Web Services/XML;.NET Services</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=b3a9ea78-324e-48cb-8b0c-f6892033aef4</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,b3a9ea78-324e-48cb-8b0c-f6892033aef4.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,b3a9ea78-324e-48cb-8b0c-f6892033aef4.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b3a9ea78-324e-48cb-8b0c-f6892033aef4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Win7 has this super cool feature where you can boot from a VHD.  
</p>
        <p>
As part of their build process, the Windows team produces VHD's as well.  Since
I work at Microsoft, I'm lucky enough to be able to pick up any daily build and try
it out, <em>risk free.  </em>Meaning - I don't have to upgrade my existing host
OS (Vista sp1), or run Win7 in a VPC (slow), or install Hyper-V and run Win7 as a
guest OS (shares resources, especially RAM, with the host).  Instead, I just
boot Win7 on that PC, and it just works as if I had installed Win7 side-by-side with
Vista.
</p>
        <p>
The fact that Win7 is in a VHD file instead of installed "natively" on the disk doesn't
seem to result in <em>any</em> palpable performance difference.  
</p>
        <p>
I can still access all my Vista documents/data on the C drive, because Win7
mounts itself on the D drive.
</p>
        <p>
And if Win7 didn't work for me, I could simply reboot and have my old machine back
exactly how I left it.
</p>
        <p>
But now that I've started using Win7, I'm not going back.  It's still an internal
build (pre public beta), but already I find that it is just as stable as any
OS I've ever run (W2K3, W2K8, XP, Solaris, RH Linux... sorry I'm not a Mac user :-)). 
Just for comparison, at this point in the Vista product cycle when I started dogfooding
it, I used to get bluescreens (mostly bad video drivers).  It's great to see
this level of stability at this place in the product cycle.
</p>
        <p>
Perf is good.  I don't know how much faster Win7 would be if I didn't run it
from a VHD, but even if it's exactly the same perf as I get now, I have to say that
things seem to be significantly snappier than Vista.
</p>
        <p>
The "chrome" is a step forward from Vista (not a big overhaul but alot of smaller
tweaks that really make a difference - e.g. the taskbar improvements where you can
click on the IE icon, and it shows you a side-by-side preview of all the IE windows/tabs
that you have running, so you can decide which one you want to switch to).  Even
the applets got a facelift (wordpad and paint have a ribbon, calc actually has a programmer
mode... :-))
</p>
        <p>
IE8 still needs a bit of work - there are still pages that don't display well until
I use compatibility mode.  For example, it appears that Windows Cardspace doesn't
come up unless you're viewing the page in compat mode.
</p>
        <p>
So far, I'm very impressed.  I'm now running Win7 on both my laptop and my work
desktop machine, and it took me a small number of hours to get both up and running
(including installing all the apps I use, like Office, Visual Studio, iTunes, etc).
</p>
        <p>
If you happened to go to PDC and got the Win7 CD, and haven't had a chance to try
it out yet - just do it - you'll like it :-)
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=b3a9ea78-324e-48cb-8b0c-f6892033aef4" />
      </body>
      <title>Win7 Rocks</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,b3a9ea78-324e-48cb-8b0c-f6892033aef4.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,b3a9ea78-324e-48cb-8b0c-f6892033aef4.aspx</link>
      <pubDate>Wed, 17 Dec 2008 20:04:19 GMT</pubDate>
      <description>&lt;p&gt;
Win7 has this super cool feature where you can boot from a VHD.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
As part of their build process, the Windows team produces VHD's as well.&amp;nbsp; Since
I work at Microsoft, I'm lucky enough to be able to pick up any daily build and try
it out, &lt;em&gt;risk free.&amp;nbsp; &lt;/em&gt;Meaning - I don't have to upgrade my existing host
OS (Vista sp1), or run Win7 in a VPC (slow), or install Hyper-V and run Win7 as a
guest OS (shares resources, especially RAM, with the host).&amp;nbsp; Instead, I just
boot Win7 on that PC, and it just works as if I had installed Win7 side-by-side with
Vista.
&lt;/p&gt;
&lt;p&gt;
The fact that Win7 is in a VHD file instead of installed "natively" on the disk doesn't
seem to result in &lt;em&gt;any&lt;/em&gt; palpable performance difference.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I can still access all&amp;nbsp;my Vista&amp;nbsp;documents/data on the C drive, because Win7
mounts itself on the D drive.
&lt;/p&gt;
&lt;p&gt;
And if Win7 didn't work for me, I could simply reboot and have my old machine back
exactly how I left it.
&lt;/p&gt;
&lt;p&gt;
But now that I've started using Win7, I'm not going back.&amp;nbsp; It's still an internal
build (pre public beta),&amp;nbsp;but already I find that it is just as stable as any
OS I've ever run (W2K3, W2K8, XP, Solaris, RH Linux... sorry I'm not a Mac user :-)).&amp;nbsp;
Just for comparison, at this point in the Vista product cycle when I started dogfooding
it, I used to get bluescreens (mostly bad video drivers).&amp;nbsp; It's great to see
this level of stability at this place in the product cycle.
&lt;/p&gt;
&lt;p&gt;
Perf is good.&amp;nbsp; I don't know how much faster Win7 would be if I didn't run it
from a VHD, but even if it's exactly the same perf as I get now, I have to say that
things seem to be significantly snappier than Vista.
&lt;/p&gt;
&lt;p&gt;
The "chrome" is a step forward from Vista (not a big overhaul but alot of smaller
tweaks that really make a difference - e.g. the taskbar improvements where you can
click on the IE icon, and it shows you a side-by-side preview of all the IE windows/tabs
that you have running, so you can decide which one you want to switch to).&amp;nbsp; Even
the applets got a facelift (wordpad and paint have a ribbon, calc actually has a programmer
mode... :-))
&lt;/p&gt;
&lt;p&gt;
IE8 still needs a bit of work - there are still pages that don't display well until
I use compatibility mode.&amp;nbsp; For example, it appears that Windows Cardspace doesn't
come up unless you're viewing the page in compat mode.
&lt;/p&gt;
&lt;p&gt;
So far, I'm very impressed.&amp;nbsp; I'm now running Win7 on both my laptop and my work
desktop machine, and it took me a small number of hours to get both up and running
(including installing all the apps I use, like Office, Visual Studio, iTunes, etc).
&lt;/p&gt;
&lt;p&gt;
If you happened to go to PDC and got the Win7 CD, and haven't had a chance to try
it out yet - just do it - you'll like it :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=b3a9ea78-324e-48cb-8b0c-f6892033aef4" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,b3a9ea78-324e-48cb-8b0c-f6892033aef4.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=0f9885d9-bb67-4421-8260-c0b266e33b46</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,0f9885d9-bb67-4421-8260-c0b266e33b46.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,0f9885d9-bb67-4421-8260-c0b266e33b46.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0f9885d9-bb67-4421-8260-c0b266e33b46</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.msdn.com/csimpkins/">Cliff</a>, our stud WCF product manager,
just posted a Channel9 <a href="http://channel9.msdn.com/posts/cliff.simpkins/Endpoint-Screencasts-Creating-Your-First-WCF-Service/">video</a> where <a href="https://mvp.support.microsoft.com/default.aspx/profile=b5b4ed23-677e-4503-869a-b0632af0cda6">Aaron</a> goes
through the process of creating a WCF service from scratch.  The video is nice
in that it isn't just a typical "let's race to do something really simple in under
a minute", but actually goes through setting up contracts, configuring the service
with an endpoint using the config tool, and hitting it with the test client. 
Good introduction for someone who's familiar with .NET but has never written a WCF
service.
</p>
        <p>
BTW, the <a href="http://www.pluralsight.com/main/">Pluralsight</a> guys have created
another shirt I have fun wearing... the <a href="http://www.pluralsight.com/community/blogs/aaron/archive/2007/10/29/48886.aspx">first
one</a> being the one with the caption /{real}/{webservices}/{use}/{uris} :-)
</p>
        <p>
Rumor has it that <a href="http://www.pluralsight.com/community/blogs/jfland/default.aspx">Jon</a> was
responsible for creating and sending a box of them over... thanks!  (and of course
to Matt/Moustafa for delivering...)
</p>
        <img src="https://www.gazitt.com/blog/content/binary/iluvdubeff.jpg" border="0" />
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=0f9885d9-bb67-4421-8260-c0b266e33b46" />
      </body>
      <title>WCF 101 Screencast</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,0f9885d9-bb67-4421-8260-c0b266e33b46.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,0f9885d9-bb67-4421-8260-c0b266e33b46.aspx</link>
      <pubDate>Fri, 15 Aug 2008 05:51:57 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.msdn.com/csimpkins/"&gt;Cliff&lt;/a&gt;, our stud WCF product manager,
just posted&amp;nbsp;a Channel9 &lt;a href="http://channel9.msdn.com/posts/cliff.simpkins/Endpoint-Screencasts-Creating-Your-First-WCF-Service/"&gt;video&lt;/a&gt; where &lt;a href="https://mvp.support.microsoft.com/default.aspx/profile=b5b4ed23-677e-4503-869a-b0632af0cda6"&gt;Aaron&lt;/a&gt; goes
through the process of creating a WCF service from scratch.&amp;nbsp; The video is nice
in that it isn't just a typical "let's race to do something really simple in under
a minute", but actually goes through setting up contracts, configuring the service
with an endpoint using the config tool, and hitting it with the test client.&amp;nbsp;
Good introduction for someone who's familiar with .NET but has never written a WCF
service.
&lt;/p&gt;
&lt;p&gt;
BTW, the &lt;a href="http://www.pluralsight.com/main/"&gt;Pluralsight&lt;/a&gt; guys have created
another shirt I have fun wearing... the &lt;a href="http://www.pluralsight.com/community/blogs/aaron/archive/2007/10/29/48886.aspx"&gt;first
one&lt;/a&gt; being the one with the caption /{real}/{webservices}/{use}/{uris} :-)
&lt;/p&gt;
&lt;p&gt;
Rumor has it that&amp;nbsp;&lt;a href="http://www.pluralsight.com/community/blogs/jfland/default.aspx"&gt;Jon&lt;/a&gt; was
responsible for creating and sending a box of them over... thanks!&amp;nbsp; (and of course
to Matt/Moustafa for delivering...)
&lt;/p&gt;
&lt;img src="https://www.gazitt.com/blog/content/binary/iluvdubeff.jpg" border=0&gt;&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=0f9885d9-bb67-4421-8260-c0b266e33b46" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,0f9885d9-bb67-4421-8260-c0b266e33b46.aspx</comments>
      <category>Indigo AKA WCF;Web Services/XML</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=8d6c6586-d1e7-4463-afb4-10371434d36d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,8d6c6586-d1e7-4463-afb4-10371434d36d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,8d6c6586-d1e7-4463-afb4-10371434d36d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=8d6c6586-d1e7-4463-afb4-10371434d36d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I run my own blog server from home.  It affords a nice degree of flexibility
in that I can really control the software I put on there, and customize it for my
purposes.  For example, I was able to mess around with the dasblog code,
and add WCF-based endpoints for RSS/Atom, as well as create my own support for logging
in and leaving comments with CardSpace.
</p>
        <p>
There are some big downsides too though.  One is that I have to maintain my own
software on the blog server.  Back in July 07 I decided to repurpose an
old 4-proc machine I had as my blog server, and installed Windows Server
2008 RC1.  That proved to be a rock solid OS and I got to play around with WS08,
which was fun... but a few days ago, I discovered that I couldn't mstsc into the machine
anymore, so I tried to log in manually, and found out that my RC1 license key expired. 
Doh!  
</p>
        <p>
I tried to put in an RTM license key, but that wasn't recognized as valid (I guess
that makes sense).  The OS was nice enough to let me do a "limited login", which
means get a browser window that opens up to the licensing site, where you can get
a valid license key.  But we already established that an RTM license key wasn't
going to fix the problem, so I needed to figure out how to upgrade the software. 
Fortunately, I could do anything from that browser window, including typing "c:\windows\system32\cmd.exe"
:-)  from there I was off to the races.  Back up all the data on the machine
(took a couple of tries, because the machine seemed to time out every once in a while
and kick me off).  
</p>
        <p>
Then I had to round up a copy of WS08 Enterprise RTM (thanks Jason!) and tried
to upgrade the OS.  Again, took a couple of tries, but at the very very end,
somehow the upgrade process failed (argh) and I realized I had to do a fresh install. 
Oh well, I backed up all the data, what could go wrong?
</p>
        <p>
Well, everything works fine, I install the app server and webserver roles, get it
all working, set up the default web site correctly, create a new application for dasblog...
try to hit the webserver from outside, no dice.  Ping works, HTTP.  Did
the IP address change somehow?  No.  Are all the NT ACL's set up right? 
Yes.  Hmm.  I go to the router to see whether it's still configured to forward
traffic to the right server... oh, that's the problem - I forgot to configure the
machine with a static IP address.  OK, now HTTP works - yay!
</p>
        <p>
Next let's get HTTPS working.  Darn, forgot to export that certificate! 
I knew I'd forget to back <em>something </em>up.  Since my root address is <a href="https://www.gazitt.com/blog">https://www.gazitt.com/blog</a>,
all my links are now broken (including all &lt;img&gt; tags).  So now I have
to re-request a cert from eNom, and that takes a day.  Net - the site is basically
impaired for a good 24 hours.  (Note to self - export cert tonight! :-))  
</p>
        <p>
Moral of the story: running my own blog server is probably not worth the hassle...
now I need to figure out which server I want to use :-)  asp.net?  MSDN? 
PluralSight like all the cool kids?  I'll definitely need to figure that out
before the PDC :-)
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=8d6c6586-d1e7-4463-afb4-10371434d36d" />
      </body>
      <title>Time to Outsource my Blog :-)</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,8d6c6586-d1e7-4463-afb4-10371434d36d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,8d6c6586-d1e7-4463-afb4-10371434d36d.aspx</link>
      <pubDate>Fri, 15 Aug 2008 05:31:59 GMT</pubDate>
      <description>&lt;p&gt;
I run my own blog server from home.&amp;nbsp; It affords a nice degree of flexibility
in that I can really control the software I put on there, and customize it for my
purposes.&amp;nbsp; For example, I was able to mess around with&amp;nbsp;the dasblog code,
and add WCF-based endpoints for RSS/Atom, as well as create my own support for logging
in and leaving comments with CardSpace.
&lt;/p&gt;
&lt;p&gt;
There are some big downsides too though.&amp;nbsp; One is that I have to maintain my own
software on the blog server.&amp;nbsp; Back in July 07 I decided&amp;nbsp;to repurpose an
old&amp;nbsp;4-proc machine I had as my blog server, and installed&amp;nbsp;Windows Server
2008 RC1.&amp;nbsp; That proved to be a rock solid OS and I got to play around with WS08,
which was fun... but a few days ago, I discovered that I couldn't mstsc into the machine
anymore, so I tried to log in manually, and found out that my RC1 license key expired.&amp;nbsp;
Doh!&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I tried to put in an RTM license key, but that wasn't recognized as valid (I guess
that makes sense).&amp;nbsp; The OS was nice enough to let me do a "limited login", which
means get a browser window that opens up to the licensing site, where you can get
a valid license key.&amp;nbsp; But we already established that an RTM license key wasn't
going to fix the problem, so I needed to figure out how to upgrade the software.&amp;nbsp;
Fortunately, I could do anything from that browser window, including typing "c:\windows\system32\cmd.exe"
:-)&amp;nbsp; from there I was off to the races.&amp;nbsp; Back up all the data on the machine
(took a couple of tries, because the machine seemed to time out every once in a while
and kick me off).&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Then&amp;nbsp;I had to round up a copy of WS08 Enterprise RTM (thanks Jason!) and tried
to upgrade the OS.&amp;nbsp; Again, took a couple of tries, but at the very very end,
somehow the upgrade process failed (argh) and I realized I had to do a fresh install.&amp;nbsp;
Oh well, I backed up all the data, what could go wrong?
&lt;/p&gt;
&lt;p&gt;
Well, everything works fine, I install the app server and webserver roles, get it
all working, set up the default web site correctly, create a new application for dasblog...
try to hit the webserver from outside, no dice.&amp;nbsp; Ping works, HTTP.&amp;nbsp; Did
the IP address change somehow?&amp;nbsp; No.&amp;nbsp; Are all the NT ACL's set up right?&amp;nbsp;
Yes.&amp;nbsp; Hmm.&amp;nbsp; I go to the router to see whether it's still configured to forward
traffic to the right server... oh, that's the problem - I forgot to configure the
machine with a static IP address.&amp;nbsp; OK, now HTTP works - yay!
&lt;/p&gt;
&lt;p&gt;
Next let's get HTTPS working.&amp;nbsp; Darn, forgot to export that certificate!&amp;nbsp;
I knew I'd forget to back &lt;em&gt;something &lt;/em&gt;up.&amp;nbsp; Since my root address is &lt;a href="https://www.gazitt.com/blog"&gt;https://www.gazitt.com/blog&lt;/a&gt;,
all my links are now broken (including all &amp;lt;img&amp;gt; tags).&amp;nbsp; So now I have
to re-request a cert from eNom, and that takes a day.&amp;nbsp; Net - the site is basically
impaired for a good 24 hours.&amp;nbsp; (Note to self - export cert tonight! :-))&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Moral of the story: running my own blog server is probably not worth the hassle...
now I need to figure out which server I want to use :-)&amp;nbsp; asp.net?&amp;nbsp; MSDN?&amp;nbsp;
PluralSight like all the cool kids? &amp;nbsp;I'll definitely need to figure that out
before the PDC :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=8d6c6586-d1e7-4463-afb4-10371434d36d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,8d6c6586-d1e7-4463-afb4-10371434d36d.aspx</comments>
      <category>Blogging</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=009d6ee2-d260-4a53-b6f6-420aa68f9dcb</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,009d6ee2-d260-4a53-b6f6-420aa68f9dcb.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,009d6ee2-d260-4a53-b6f6-420aa68f9dcb.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=009d6ee2-d260-4a53-b6f6-420aa68f9dcb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today, we’re proud to announce the availability of the “gold” bits of <a href="http://msdn.microsoft.com/en-us/vstudio/cc533448.aspx">VS
2008 SP1 </a>and <a href="http://www.microsoft.com/net/download.aspx">.NET 3.5 SP1</a>. 
We think this is a great update to our VS2008 and 3.5 releases that is well worth
checking out.  
</p>
        <p>
I <a href="https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx">blogged</a> about
the new features for Service developers back in May when we shipped the beta, so I
won’t repeat them all here… but here is a recap of some of the highlights:
</p>
        <p>
On the Web front, we’ve built on the support for REST and AtomPub with enhancements
to UriTemplate and support for AtomPub ServiceDocuments, respectively.  And of
course we’ve built Data Services (also known as “Astoria”) – a WCF service that exposes
any SQL database (or LINQ provider) as a set of AtomPub resources.  Finally,
we’ve enhanced our support for partial trust scenarios with the ability to write to
the event log, which helps debugging and diagnosability.  
</p>
        <p>
The DataContractSerializer has some nice enhancements, including support for “POCO”
(plain-old C# objects) contracts, which allows using this serializer without requiring
you to decorate members [DataMember].  This is more than just a convenience –
sometimes you don’t control the class you are trying to serialize (for example, it
gets generated by a tool which doesn’t slap on the [DataMember] attribute), and this
feature now makes it possible to use the DataContractSerializer with those types. 
We also added support for serializing object graphs in a way that is more interoperable
with JAX-WS, and support for ADO.NET Entity Framework types in DataContracts.  
</p>
        <p>
There’s also some good perf work in this release.  If you’re running in IIS7
integrated mode, we’ve seen 5-10X scalability increases for WCF services via a new
asynchronous implementation of our HttpHandler/Module (more details on Wenlong's <a href="http://blogs.msdn.com/wenlong/archive/2008/04/21/wcf-request-throttling-and-server-scalability.aspx">blog</a>). 
Also, the Workflow designer can handle significantly bigger workflows and loads up
much faster.
</p>
        <p>
Finally, we have some nice improvements in our tools.  Our Test Client now runs
standalone (in addition to running inside Visual Studio).  We also added support
for a bunch of new types including Nullable types, Dictionaries, MessageContracts,
and XmlSerializer contracts.  The tool also supports WS-RM sessions and allows
you to customize the config file for the tool itself, so you can save some common
customizations instead of having to recreate them.
</p>
        <p>
The support for XmlSerializer-style contracts opens up some interesting new scenarios
for the tool… My favorite is pointing it at a public web service to discover its contract,
and use the tool kind of like a browser – i.e. be able to invoke a service with the
right parameters and look at its output.  You can find the standalone version
of the tool in &lt;Program Files&gt;\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.exe. 
Here’s an example of pointing the tool to the Amazon AWS WSDL and invoking the ListSearch
operation to retrieve a WishList for John Doe:
</p>
        <p>
          <img src="https://www.gazitt.com/blog/content/binary/amazon2sm.JPG" border="0" />
        </p>
        <p>
We also added a new publishing wizard for WCF Service projects to facilitate easy
deployment of WCF services, loosely modeled on the notion of publishing ASP.NET websites
to IIS.  Notice that the WCF Service Library template creates a project that
has an app.config – when you hit F5, we spin up our Test Host (think of it like “Cassini
for WCF services”), and bring up the Test Client mentioned above.  So the publishing
wizard takes a location to publish to, and converts the service from a “self-hosted”
service to a Web-hosted service, including taking all the &lt;serviceModel&gt; config
information and inserting it into a web.config file.  Here’s a screenshot:
</p>
        <p>
          <img src="https://www.gazitt.com/blog/content/binary/publish1sm.JPG" border="0" />
        </p>
        <p>
Last but not least, thanks to everyone who tried out the beta and gave us feedback
– your efforts help us create a better product and are much appreciated.  Enjoy!
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=009d6ee2-d260-4a53-b6f6-420aa68f9dcb" />
      </body>
      <title>Visual Studio 2008 and .NET Framework 3.5 SP1 RTM Today!</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,009d6ee2-d260-4a53-b6f6-420aa68f9dcb.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,009d6ee2-d260-4a53-b6f6-420aa68f9dcb.aspx</link>
      <pubDate>Mon, 11 Aug 2008 19:46:17 GMT</pubDate>
      <description>&lt;p&gt;
Today, we’re proud to announce the availability of the “gold” bits of &lt;a href="http://msdn.microsoft.com/en-us/vstudio/cc533448.aspx"&gt;VS
2008 SP1 &lt;/a&gt;and &lt;a href="http://www.microsoft.com/net/download.aspx"&gt;.NET 3.5 SP1&lt;/a&gt;.&amp;nbsp;
We think this is a great update to our VS2008 and 3.5 releases that is well worth
checking out.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I &lt;a href="https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx"&gt;blogged&lt;/a&gt; about
the new features for Service developers back in May when we shipped the beta, so I
won’t repeat them all here… but here is a recap of some of the highlights:
&lt;/p&gt;
&lt;p&gt;
On the Web front, we’ve built on the support for REST and AtomPub with enhancements
to UriTemplate and support for AtomPub ServiceDocuments, respectively.&amp;nbsp; And of
course we’ve built Data Services (also known as “Astoria”) – a WCF service that exposes
any SQL database (or LINQ provider) as a set of AtomPub resources.&amp;nbsp; Finally,
we’ve enhanced our support for partial trust scenarios with the ability to write to
the event log, which helps debugging and diagnosability.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
The DataContractSerializer has some nice enhancements, including support for “POCO”
(plain-old C# objects) contracts, which allows using this serializer without requiring
you to decorate members [DataMember].&amp;nbsp; This is more than just a convenience –
sometimes you don’t control the class you are trying to serialize (for example, it
gets generated by a tool which doesn’t slap on the [DataMember] attribute), and this
feature now makes it possible to use the DataContractSerializer with those types.&amp;nbsp;
We also added support for serializing object graphs in a way that is more interoperable
with JAX-WS, and support for ADO.NET Entity Framework types in DataContracts.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
There’s also some good perf work in this release.&amp;nbsp; If you’re running in IIS7
integrated mode, we’ve seen 5-10X scalability increases for WCF services via a new
asynchronous implementation of our HttpHandler/Module (more details on Wenlong's &lt;a href="http://blogs.msdn.com/wenlong/archive/2008/04/21/wcf-request-throttling-and-server-scalability.aspx"&gt;blog&lt;/a&gt;).&amp;nbsp;
Also, the Workflow designer can handle significantly bigger workflows and loads up
much faster.
&lt;/p&gt;
&lt;p&gt;
Finally, we have some nice improvements in our tools.&amp;nbsp; Our Test Client now runs
standalone (in addition to running inside Visual Studio).&amp;nbsp; We also added support
for a bunch of new types including Nullable types, Dictionaries, MessageContracts,
and XmlSerializer contracts.&amp;nbsp; The tool also supports WS-RM sessions and allows
you to customize the config file for the tool itself, so you can save some common
customizations instead of having to recreate them.
&lt;/p&gt;
&lt;p&gt;
The support for XmlSerializer-style contracts opens up some interesting new scenarios
for the tool… My favorite is pointing it at a public web service to discover its contract,
and use the tool kind of like a browser – i.e. be able to invoke a service with the
right parameters and look at its output.&amp;nbsp; You can find the standalone version
of the tool in &amp;lt;Program Files&amp;gt;\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.exe.&amp;nbsp;
Here’s an example of pointing the tool to the Amazon AWS WSDL and invoking the ListSearch
operation to retrieve a WishList for John Doe:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="https://www.gazitt.com/blog/content/binary/amazon2sm.JPG" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
We also added a new publishing wizard for WCF Service projects to facilitate easy
deployment of WCF services, loosely modeled on the notion of publishing ASP.NET websites
to IIS.&amp;nbsp; Notice that the WCF Service Library template creates a project that
has an app.config – when you hit F5, we spin up our Test Host (think of it like “Cassini
for WCF services”), and bring up the Test Client mentioned above.&amp;nbsp; So the publishing
wizard takes a location to publish to, and converts the service from a “self-hosted”
service to a Web-hosted service, including taking all the &amp;lt;serviceModel&amp;gt; config
information and inserting it into a web.config file.&amp;nbsp; Here’s a screenshot:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="https://www.gazitt.com/blog/content/binary/publish1sm.JPG" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Last but not least, thanks to everyone who tried out the beta and gave us feedback
– your efforts help us create a better product and are much appreciated.&amp;nbsp; Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=009d6ee2-d260-4a53-b6f6-420aa68f9dcb" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,009d6ee2-d260-4a53-b6f6-420aa68f9dcb.aspx</comments>
      <category>Indigo AKA WCF;Web Services/XML;Workflow</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=dd5a7066-d288-48ef-91a8-af895fecbe8c</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=dd5a7066-d288-48ef-91a8-af895fecbe8c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today we released the <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx">betas</a> for
VS2008 sp1 and .NET 3.5 sp1. <a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx">Scott </a>did
a good job (as usual :-)) running through the top-level enhancements, so I won't parrot
it all here.. but I'd like to go through the next level of detail on what new goodies
we have for service developers.
</p>
The most interesting/exciting feature for service developers is what we call Data
Services (previously known as "Astoria").  The best way to explain how Data Services
fits into the overall "services platform" that .NET provides is through a picture:<br /><p><img src="http://www.gazitt.com/blog/images/NetServicesFramework.jpg" /></p><p>
As a service developer, .NET offers me a layered stack - if I want to write "to the
metal", I can build a service on top of System.Net and HttpListener (which is a managed
wrapper on top of HTTP.SYS - our kernel HTTP driver).  Not many people end up
doing that, because there are lots of good pieces that we've already written for you.. 
</p><p>
WCF provides the next layer.  WCF gives you some modular pieces, such as channels
(HTTP, TCP, MSMQ, etc); Serialization, which is a fancy word for pouring objects into
a serialized formats such as XML, binary, JSON, and deserializing back into objects;
and what we call "Syndication", which are some classes that support various data publishing
microformats such as RSS and ATOM.  Finally, we have a layer called Service Model
that ties all of this stuff together in a coherent, approachable programming model.  
</p><p>
WCF is a powerful but general framework, so the next layer up consists of particular
scenarios that we wanted to significantly simplify. I think of two canonical scenarios
for writing services: "resource-oriented" services, where you model your service as
a bunch of resources and offer request/response, HTTP-based access to those resources;
and "operation-oriented" services, where you want to create a new "operation" that
wraps a more involved operation that often has to coordinate state changes across
multiple resources.
</p>
Operation-oriented services become more attractive the more asynchrony you need in
your service implementation.. the canonical example is "book a trip" which in turn
composes other asynchronous services, such as "book the airfare", "book the hotel",
etc.  We realized that most operation-oriented services are actually most
easily modeled as workflows.. and that's why we invested heavily in .NET 3.5 in Workflow
Services, which is a pretty deep integration between WCF and Workflow.<br /><p>
Resource-oriented services became easier to write in .NET 3.5 via our REST support
that we added to WCF.  But we thought we could do even better for some canonical
scenarios, such as when you have data in a database (or any LINQ data source) that
you want to expose over REST/ATOM.  So the ADO.NET team built Data Services,
which is layered on top of WCF's REST and ATOM capabilities and offers a really easy
way of doing just that.  
</p><p>
Any layer of abstraction makes some choices, and some of those choices may not be
exactly what you want.  The nice thing is that given the layering of Workflow
Services and Data Services over WCF, if you don't like the choices we've made for
you, you can always drop down to the layer below (WCF).  
</p><p>
As I type this, I realize that there's really one additional scenario that I didn't
capture in the picture - which is "services that back a presentation layer". 
ASP.NET AJAX is the obvious example of that today.. in .NET 3.5, we added support
for being able to "back" an ASP.NET AJAX page with a "AJAX-Enabled WCF Service" (complete
with a VS template).  So that's another example of a targetted scenario that's
layered on top of WCF... (I'll have to fix my picture :-))
</p><p>
Besides Data Services, there are some additional cool new enhancements in WCF and
WF that are worth mentioning:
</p><ul><li>
We are enabling DataContract Serializer to serialize types without the need to annotate
them with the [DataContract] attribute and its relatives.  We affectionately
have taken to calling this feature POCO (plain old C# Objects), tipping our hat to
POJO :-)</li><li>
We’ve enabled interoperable object references in our serialization format.  This
was done to support certain Entity Data Model (EDM) types but is generally useful
in improving our interoperability with Java</li><li>
We’ve made the WCF Test Client (the form that comes up when you hit "F5" on a service)
into a stand-alone tool and added more features to increase the breadth of web services
it can handle</li><li>
The WCF Service template is now available in the Visual Web Developer Express SKU</li><li>
We are delivering a hosting wizard for Visual Studio WCF Service projects that allows
easy deployment of Web Services from VS into IIS</li><li>
Event Logging is now enabled in Partial trust so that people who host their services
in medium trust environments have more of the WCF "juice" :-)</li><li>
We extended the syndication OM to support the ServiceDocument in AtomPub</li><li>
We did some nice perf enhancements to the WF activities designer to make it much more
snappy, even if you have a large number of activities</li></ul><p>
And of course, we fixed many of the most common bugs that you all have reported to
us (thanks!)
</p>
All in all, a bunch of good value in a service pack release.. of course, this is a
beta, so there are still some issues in the bits.  Please give them a test-drive
and let us know what you think! 
<p>
 
</p><img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=dd5a7066-d288-48ef-91a8-af895fecbe8c" /></body>
      <title>VS2008 and .NET 3.5 SP1 Enhancements for Service Developers</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</link>
      <pubDate>Mon, 12 May 2008 17:47:49 GMT</pubDate>
      <description>&lt;p&gt;
Today we released the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx"&gt;betas&lt;/a&gt; for
VS2008 sp1 and .NET 3.5 sp1. &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx"&gt;Scott &lt;/a&gt;did
a good job (as usual :-)) running through the top-level enhancements, so I won't parrot
it all here.. but I'd like to go through the next level of detail on what new goodies
we have for service developers.
&lt;/p&gt;
The most interesting/exciting feature for service developers is what we call Data
Services (previously known as "Astoria").&amp;nbsp; The best way to explain how Data Services
fits into the overall "services platform" that .NET provides is through a picture:&lt;br&gt;
&lt;p&gt;
&lt;img src="http://www.gazitt.com/blog/images/NetServicesFramework.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
As a service developer, .NET offers me a layered stack - if I want to write "to the
metal", I can build a service on top of System.Net and HttpListener (which is a managed
wrapper on top of HTTP.SYS - our kernel HTTP driver).&amp;nbsp; Not many people end up
doing that, because there are lots of good pieces that we've already written for you.. 
&lt;/p&gt;
&lt;p&gt;
WCF provides the next layer.&amp;nbsp; WCF gives you some modular pieces, such as channels
(HTTP, TCP, MSMQ, etc); Serialization, which is a fancy word for pouring objects into
a serialized formats such as XML, binary, JSON, and deserializing back into objects;
and what we call "Syndication", which are some classes that support various data publishing
microformats such as RSS and ATOM.&amp;nbsp; Finally, we have a layer called Service Model
that ties all of this stuff together in a coherent, approachable programming model.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
WCF is a powerful but general framework, so the next layer up consists of particular
scenarios that we wanted to significantly simplify. I think of two canonical scenarios
for writing services: "resource-oriented" services, where you model your service as
a bunch of resources and offer request/response, HTTP-based access to those resources;
and "operation-oriented" services, where you want to create a new "operation" that
wraps a more involved operation that often has to coordinate state changes across
multiple resources.
&lt;/p&gt;
Operation-oriented services become more attractive the more asynchrony you need in
your service implementation.. the canonical example is "book a trip" which in turn
composes other asynchronous services, such as "book the airfare", "book the hotel",
etc.&amp;nbsp; We realized that most operation-oriented services are actually&amp;nbsp;most
easily modeled as workflows.. and that's why we invested heavily in .NET 3.5 in Workflow
Services, which is a pretty deep integration between WCF and Workflow.&lt;br&gt;
&lt;p&gt;
Resource-oriented services became easier to write in .NET 3.5 via our REST support
that we added to WCF.&amp;nbsp; But we thought we could do even better for some canonical
scenarios, such as when you have data in a database (or any LINQ data source) that
you want to expose over REST/ATOM.&amp;nbsp; So the ADO.NET team built Data Services,
which is layered on top of WCF's REST and ATOM capabilities and offers a really easy
way of doing just that.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Any layer of abstraction makes some choices, and some of those choices may not be
exactly what you want.&amp;nbsp; The nice thing is that given the layering of Workflow
Services and Data Services over WCF, if you don't like the choices we've made for
you, you can always drop down to the layer below (WCF).&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
As I type this, I realize that there's really one additional scenario that I didn't
capture in the picture - which is "services that back a presentation layer".&amp;nbsp;
ASP.NET AJAX is the obvious example of that today.. in .NET 3.5, we added support
for being able to "back" an ASP.NET AJAX page with a "AJAX-Enabled WCF Service" (complete
with a VS template).&amp;nbsp; So that's another example of a targetted scenario that's
layered on top of WCF... (I'll have to fix my picture :-))
&lt;/p&gt;
&lt;p&gt;
Besides Data Services, there are some additional cool new enhancements in WCF and
WF that are worth mentioning:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
We are enabling DataContract Serializer to serialize types without the need to annotate
them with the [DataContract] attribute and its relatives.&amp;nbsp; We affectionately
have taken to calling this feature POCO (plain old C# Objects), tipping our hat to
POJO :-)&lt;/li&gt;
&lt;li&gt;
We’ve enabled interoperable object references in our serialization format.&amp;nbsp; This
was done to support certain Entity Data Model (EDM) types but is generally useful
in improving our interoperability with Java&lt;/li&gt;
&lt;li&gt;
We’ve made the WCF Test Client (the form that comes up when you hit "F5" on a service)
into a stand-alone tool and added more features to increase the breadth of web services
it can handle&lt;/li&gt;
&lt;li&gt;
The WCF Service template is now available in the Visual Web Developer Express SKU&lt;/li&gt;
&lt;li&gt;
We are delivering a hosting wizard for Visual Studio WCF Service projects that allows
easy deployment of Web Services from VS into IIS&lt;/li&gt;
&lt;li&gt;
Event Logging is now enabled in Partial trust so that people who host their services
in medium trust environments have more of the WCF "juice" :-)&lt;/li&gt;
&lt;li&gt;
We extended the syndication OM to support the ServiceDocument in AtomPub&lt;/li&gt;
&lt;li&gt;
We did some nice perf enhancements to the WF activities designer to make it much more
snappy, even if you have a large number of activities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
And of course, we fixed many of the most common bugs that you all have reported to
us (thanks!)
&lt;/p&gt;
All in all, a bunch of good value in a service pack release.. of course, this is a
beta, so there are still some issues in the bits.&amp;nbsp; Please give them a test-drive
and let us know what you think! 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=dd5a7066-d288-48ef-91a8-af895fecbe8c" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,dd5a7066-d288-48ef-91a8-af895fecbe8c.aspx</comments>
      <category>Indigo AKA WCF;Web Services/XML;Workflow</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=bbe5031c-b28b-411f-9b3c-e4b7c312f60d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=bbe5031c-b28b-411f-9b3c-e4b7c312f60d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
SL2 beta1 adds a new packaging format for Silverlight apps - a .xap file.  Silverlight
apps work fine in cassini (the ASP.NET development webserver), but trying to deploy
the web project to IIS results in a blank page where the silverlight control ought
to be. 
</p>
        <p>
The issue is that IIS needs to be told about the mapping between the extension and
the MIME type.  To fix it, open the IIS MMC, open the MIME Types editor, and
add a new entry with the file name extension "<font color="#000080"><font color="#0000ff">.xap</font>"</font> and
the MIME Type being "<font color="#0000ff" size="2">application/x-silverlight-2-b1</font>". 
Refresh your page and that should do it...<font color="#0000ff" size="2"></font></p>
        <font color="#0000ff" size="2">
        </font>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=bbe5031c-b28b-411f-9b3c-e4b7c312f60d" />
      </body>
      <title>Deploying a Silverlight2 Beta1 Web Project to IIS</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</link>
      <pubDate>Mon, 17 Mar 2008 00:24:19 GMT</pubDate>
      <description>&lt;p&gt;
SL2 beta1 adds a new packaging format for Silverlight apps - a .xap file.&amp;nbsp; Silverlight
apps work fine in cassini (the ASP.NET development webserver), but trying to deploy
the web project to IIS results in a blank page where the silverlight control ought
to be. 
&lt;/p&gt;
&lt;p&gt;
The issue is that IIS needs to be told about the mapping between the extension and
the MIME type.&amp;nbsp; To fix it, open the IIS MMC, open the MIME Types editor, and
add a new entry with the file name extension "&lt;font color=#000080&gt;&lt;font color=#0000ff&gt;.xap&lt;/font&gt;"&lt;/font&gt; and
the MIME Type being "&lt;font color=#0000ff size=2&gt;application/x-silverlight-2-b1&lt;/font&gt;".&amp;nbsp;
Refresh your page and that should do it...&lt;font color=#0000ff size=2&gt;
&lt;/p&gt;
&gt;&lt;font color=#0000ff size=2&gt;&lt;/font&gt;&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=bbe5031c-b28b-411f-9b3c-e4b7c312f60d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,bbe5031c-b28b-411f-9b3c-e4b7c312f60d.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=781bdc17-144c-4a65-9070-c279c88a43c8</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=781bdc17-144c-4a65-9070-c279c88a43c8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While I'm on migration, here are some pointers for stuff I had to do when migrating
my LINQ-to-SQL project from VS2008 Beta2 to RTM.
</p>
        <ul>
          <li>
The DBML file was unreadable because the Beta2 version had an <em>encoding="utf-16" </em>attribute
on the &lt;?xml&gt; decl, but the file itself didn't have an Unicode BOM.  Changing
this to utf-8 fixed that problem. 
</li>
          <li>
.Remove() has been renamed (probably more aptly) to .DeleteOnSubmit(). </li>
        </ul>
        <p>
That's pretty much all I had to do to port my LINQ-to-SQL project to VS2008 RTM.. 
</p>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=781bdc17-144c-4a65-9070-c279c88a43c8" />
      </body>
      <title>Migrating from the VS2008 Beta2 LINQ-to-SQL to RTM</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</link>
      <pubDate>Sun, 16 Mar 2008 00:08:25 GMT</pubDate>
      <description>&lt;p&gt;
While I'm on migration, here are some pointers for stuff I had to do when migrating
my LINQ-to-SQL project from VS2008 Beta2 to RTM.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The DBML file was unreadable because the Beta2 version had an &lt;em&gt;encoding="utf-16" &lt;/em&gt;attribute
on the &amp;lt;?xml&amp;gt; decl, but the file itself didn't have an Unicode BOM.&amp;nbsp; Changing
this to utf-8 fixed that problem. 
&lt;li&gt;
.Remove() has been renamed (probably more aptly) to .DeleteOnSubmit().&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
That's pretty much all I had to do to port my LINQ-to-SQL project to VS2008 RTM.. 
&lt;/p&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=781bdc17-144c-4a65-9070-c279c88a43c8" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,781bdc17-144c-4a65-9070-c279c88a43c8.aspx</comments>
      <category>LINQ</category>
    </item>
    <item>
      <trackback:ping>https://www.gazitt.com/blog/Trackback.aspx?guid=5b14effe-468d-4703-a1af-d1b3c1da052d</trackback:ping>
      <pingback:server>https://www.gazitt.com/blog/pingback.aspx</pingback:server>
      <pingback:target>https://www.gazitt.com/blog/PermaLink,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</pingback:target>
      <dc:creator>Omri Gazitt</dc:creator>
      <wfw:comment>https://www.gazitt.com/blog/CommentView,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</wfw:comment>
      <wfw:commentRss>https://www.gazitt.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5b14effe-468d-4703-a1af-d1b3c1da052d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I got some time this weekend to start migrating my SL1.1 alpha app
to SL2 beta1.  For starters, the SL 1.1 alpha project file contains reference
(&lt;import&gt;) to a project file that doesn't exist anymore - you get the following
error when trying to load the project:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
"Unable to read the project file '... .csproj'. ... The imported project "C:\Program
Files\MSBuild\Microsoft\VisualStudio\v9.0\Silverlight\Microsoft.Silverlight.Csharp.targets"
was not found."
</p>
        </blockquote>
        <p dir="ltr">
I started hunting for the right &lt;import&gt;, and then came upon this <a href="http://geekswithblogs.net/shahedul/archive/2008/03/05/120263.aspx">blog
entry</a> that provides all (well, most) of what you need to know for migration...
</p>
        <p dir="ltr">
After changing the project &lt;import&gt; from ...\VisualStudio\v9.0\Silverlight\...
to ...\Silverlight\v2.0\..., I was able to read the project file.  After that,
I removed all references to all assemblies, and re-added references to mscorlib, system,
System.Core, System.Windows, System.Windows.Browser, System.Windows.Controls, and
System.Xml, and I got my 576 errors reduced down to 15.  Not tooo shabby! :-)
</p>
        <p dir="ltr">
There were a few more "simple and mechanical" changes to make the project compile:
</p>
        <ul dir="ltr">
          <li>
            <div>Some EventHandler's had to be changed to MouseEventHandler, some MouseEventHandler's
had to be changed to MouseButtonEventHandler
</div>
          </li>
          <li>
            <div>System.Windows.Media.Visual is gone - I was able to use System.Windows.UIElement
for the same purpose (a generic type for all types of silverlight controls)
</div>
          </li>
          <li>
            <div>KeyboardEventArgs --&gt; KeyEventArgs
</div>
          </li>
          <li>
            <div>System.Windows.Browser.Net is gone - BrowserHttpWebRequest is not needed
anymore.  You can now use the System.Net assembly and use HttpWebRequest.Create().
</div>
          </li>
          <li>
            <div>The old System.Web.Services namespace (which was the ASMX client) has now been
replaced by the WCF client (woohoo!)  So you have to remove your old Web Reference
and add a new Service Reference.
</div>
          </li>
        </ul>
        <p>
Those were the key changes I made to make the project compile.  
</p>
        <p>
Update: a couple of things I forgot to note (turns out I had more than one Silverlight
project :-))
</p>
        <ul>
          <li>
A few more type changes: some EventHander's --&gt; RoutedEventHandler's</li>
          <li>
No synchronous proxies from Add Service Reference: need to convert to the async equivalents 
</li>
          <li>
Change all of the generic forms of X.SetValue&lt;type&gt;() to the non-generic versions -
X.SetValue()</li>
          <li>
HtmlPage.Navigate() doesn't exist - use HtmlPage.Window.Navigate()</li>
          <li>
XamlReader is now in System.Windows.Markup (have to add the using directive)</li>
          <li>
System.Windows.Input.Cursors.Default no longer exists</li>
          <li>
System.Windows.Controls.Image.Source is now a bit more involved - now ImageSource
is an abstract class that's more than just a Uri.  The most convenient concrete
class is BitmapImage (defined in System.Windows.Media.Imaging), which has a UriSource
property that's typed as a Uri.  So instead of 
<br /><font size="2"><p>
Image.Source = 
</p></font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#2b91af" size="2">Uri</font><font size="2">("</font><font color="#0000ff" size="2"><a href="http://foo/">http://foo</a></font><font size="2">", </font><font color="#2b91af" size="2">UriKind</font><font size="2">.RelativeOrAbsolute);
</font><font size="2"><p>
Image.Source = 
</p></font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#2b91af" size="2">BitmapImage</font><font size="2">(</font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#2b91af" size="2">Uri</font><font size="2">(</font><font color="#0000ff" size="2"><a href="http://foo/">http://foo</a></font><font size="2">, </font><font color="#2b91af" size="2">UriKind</font><font size="2">.RelativeOrAbsolute));</font><font size="2"></font></li>
        </ul>
        <ul>
          <li>
Point[] --&gt; PointCollection</li>
          <li>
HtmlDocument.Document.GetElementByID --&gt; HtmlDocument.Document.GetElementById</li>
        </ul>
        <img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=5b14effe-468d-4703-a1af-d1b3c1da052d" />
      </body>
      <title>Migrating from Silverlight 1.1 Alpha to Silverlight 2 Beta1 Projects</title>
      <guid isPermaLink="false">https://www.gazitt.com/blog/PermaLink,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</guid>
      <link>https://www.gazitt.com/blog/PermaLink,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</link>
      <pubDate>Sat, 15 Mar 2008 23:34:09 GMT</pubDate>
      <description>&lt;p&gt;
I got some time this weekend to&amp;nbsp;start&amp;nbsp;migrating my&amp;nbsp;SL1.1 alpha app
to SL2 beta1.&amp;nbsp; For starters, the SL 1.1 alpha project file contains reference
(&amp;lt;import&amp;gt;) to a project file that doesn't exist anymore - you get the following
error when trying to load the project:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
"Unable to read the project file '... .csproj'. ... The imported project "C:\Program
Files\MSBuild\Microsoft\VisualStudio\v9.0\Silverlight\Microsoft.Silverlight.Csharp.targets"
was not found."
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
I started hunting for the right &amp;lt;import&amp;gt;, and then came upon this &lt;a href="http://geekswithblogs.net/shahedul/archive/2008/03/05/120263.aspx"&gt;blog
entry&lt;/a&gt; that provides all (well, most) of what you need to know for migration...
&lt;/p&gt;
&lt;p dir=ltr&gt;
After changing the project &amp;lt;import&amp;gt; from ...\VisualStudio\v9.0\Silverlight\...
to ...\Silverlight\v2.0\..., I was able to read the project file.&amp;nbsp; After that,
I removed all references to all assemblies, and re-added references to mscorlib, system,
System.Core, System.Windows, System.Windows.Browser, System.Windows.Controls, and
System.Xml, and I got my 576 errors reduced down to 15.&amp;nbsp; Not tooo shabby! :-)
&lt;/p&gt;
&lt;p dir=ltr&gt;
There were a few more "simple and mechanical" changes to make the project compile:
&lt;/p&gt;
&lt;ul dir=ltr&gt;
&lt;li&gt;
&lt;div&gt;Some EventHandler's had to be changed to MouseEventHandler, some MouseEventHandler's
had to be changed to MouseButtonEventHandler
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;System.Windows.Media.Visual is gone - I was able to use System.Windows.UIElement
for the same purpose (a generic type for all types of silverlight controls)
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;KeyboardEventArgs --&amp;gt; KeyEventArgs
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;System.Windows.Browser.Net is gone - BrowserHttpWebRequest&amp;nbsp;is not needed
anymore.&amp;nbsp; You can now use&amp;nbsp;the System.Net assembly and use HttpWebRequest.Create().
&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;The old System.Web.Services namespace (which was the ASMX client) has now been
replaced by the WCF client (woohoo!)&amp;nbsp; So you have to remove your old Web Reference
and add a new Service Reference.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Those were the key changes I made to make the project compile.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Update: a couple of things I forgot to note (turns out I had more than one Silverlight
project :-))
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A few more type changes: some EventHander's --&amp;gt; RoutedEventHandler's&lt;/li&gt;
&lt;li&gt;
No synchronous proxies from Add Service Reference: need to convert to the async equivalents 
&lt;/li&gt;
&lt;li&gt;
Change all of the generic forms of X.SetValue&amp;lt;type&amp;gt;() to the non-generic versions&amp;nbsp;-
X.SetValue()&lt;/li&gt;
&lt;li&gt;
HtmlPage.Navigate() doesn't exist - use HtmlPage.Window.Navigate()&lt;/li&gt;
&lt;li&gt;
XamlReader is now in System.Windows.Markup (have to add the using directive)&lt;/li&gt;
&lt;li&gt;
System.Windows.Input.Cursors.Default no longer exists&lt;/li&gt;
&lt;li&gt;
System.Windows.Controls.Image.Source is now a bit more involved - now ImageSource
is an abstract class that's more than just a&amp;nbsp;Uri.&amp;nbsp; The most convenient concrete
class is BitmapImage (defined in System.Windows.Media.Imaging), which has a UriSource
property that's typed as a Uri.&amp;nbsp; So instead of 
&lt;br&gt;
&lt;font size=2&gt; 
&lt;p&gt;
Image.Source = 
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;("&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;a href="http://foo/"&gt;http://foo&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;", &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UriKind&lt;/font&gt;&lt;font size=2&gt;.RelativeOrAbsolute);&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
Image.Source = 
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;BitmapImage&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;a href="http://foo/"&gt;http://foo&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UriKind&lt;/font&gt;&lt;font size=2&gt;.RelativeOrAbsolute));&lt;/font&gt;&lt;font size=2&gt;&gt;
&lt;/li&gt;
&lt;/ul&gt;
&gt; 
&lt;ul&gt;
&lt;li&gt;
Point[] --&amp;gt; PointCollection&lt;/li&gt;
&lt;li&gt;
HtmlDocument.Document.GetElementByID --&amp;gt; HtmlDocument.Document.GetElementById&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="https://www.gazitt.com/blog/aggbug.ashx?id=5b14effe-468d-4703-a1af-d1b3c1da052d" /&gt;</description>
      <comments>https://www.gazitt.com/blog/CommentView,guid,5b14effe-468d-4703-a1af-d1b3c1da052d.aspx</comments>
      <category>Silverlight</category>
    </item>
  </channel>
</rss>