The following text was originall written by Rachel Appel, Developer Evangelist for the NY region: On July 7th, 2010 at 7pm in Manhattan the NYC area developer community will be holding an event to benefit NYC-area .NET software developer Wendy Friedlander.
Wendy is a 30 year old software agilista from Long Island. She's a strong WPF developer and a firm believer in the agile method of development including pair programming and TDD. Wendy is wife and mother of a beautiful girl named Kaylee who will be 2 in August of this year. In August of 2009 Wendy learned that she had a rare and aggressive pediatric cancer called aveolar rhabdomyosarcoma. Her treatment consists of high dose chemotherapy and radiation. She has had to leave her job, and her husband has been forced into part time work in order to care for their daughter. Come and be part of something special!
We are very pleased to be able to announce that the evening will include a unique presentation by noted .NET luminary and author Charles Petzold on an obscure (but interesting) chapter in the history of computing with appearances (in chronological order) by Cicero, Galileo, Kepler, Newton, Fourier, Charles Darwin, Lord Kelvin, Madame Curie, and Albert Einstein.
In addition, Miguel Castro has volunteered to provide a very special talk for the attendees where he promises to demonstrate some of his own pet software development projects for us!
In addition to the opportunity to see these unique talks, every attendee will be given a free unlimited 30-day subscription to TekPub (http://www.tekpub.com), the video screencasting site with hours and hours of screencasts on topics including Silverlight, Entity Framework, NHibernate, JQuery, Ruby-on-Rails, developing for the iPhone, and developing for Android. Everyone who attends the event is guaranteed this free subscription just for their cost of attending.
Other SWAG that will be raffled off to attendees includes multiple software licenses for the following products: * JetBrains Resharper, DotTrace, and DotCover! * Developer Express CodeRush, Refactor! Pro, and DXperience Suite (every control they make!) * Telerik RAD Controls! * TypeMock Isolator! * Visual Studio MSDN Ultimate i-year Subscriptions! * ...and more!
Specific details for this event including location, RSVP links, and more can be found at the site: http://www.DevsForWendy.com
For more details about the event, please see this comprehensive blog post by Steve Bohlen: http://unhandled-exceptions.com/blog/index.php/2010/06/30/devsforwendy/
Attendance is $75 per person with all proceeds going to Wendy and her family. Since dinner will consist of pizza and soda, you can be assured that more than $65 of that attendance fee will go to benefit the Friedlanders directly!
Even if you cannot attend the benefit event itself, please consider using the [Donate] link on the site (http://devsforwendy.com/donate.html) to make a contribution directly to Wendy and her family. Any amount you may be able to spare would be very much appreciated -- whether $1, $5, $10, $50, or more it all adds up and it all goes to a great cause!
If there are any questions, please do not hesitate to email either Sara Chipps (sarajchipps@gmail.com) or Steve Bohlen (sbohlen@gmail.com) directly. Otherwise, please consider either attending the event, making a direct donation, or both!
Wow, what a day! The first ever WCF Firestarter event was yesterday at the New York City Microsoft offices and it was awesome. The agenda was simple and to-the-point. I started the day with the first two sessions, introducing everyone to WCF an then segueing them into more advanced binding and behavior configurations by showing the most commonly used configuration scenarios. Seems that transaction handling was the more popular one there. After lunch, one of our local DEs, Peter Laudati took the stage to talk about WCF REST capabilities. After which, Don Demsak introduced everyone to WCF Data Services, rounding out the capability set of this technology. I came back on at the end of the day to talk about the new WCF 4 stuff and it seems that routing capabilities was the highlight on that one.  Peter and Don did an awesome job, as always. As for my performance, I was happy but I’ll let others blog about what they thought. All in all, I was comfortable with the outcome and I think the crowd was pleased. We had about 200 attendees in the room and another 108 on LiveMeeting. The event brought in people from around the country and world I think. I put out a call for listeners to send me an email telling me where they are and immediately I received one from a listener in Southern Australia. Kudos goes out to Coral who was listening in the middle of the night, down under. When I took a poll at the beginning as to how many WCF users I had in the room, the count was extremely low (about 10) so I think this was definitely the target audience. Thank you to Peter for getting Microsoft behind this event and for handling all the logistics, and thanks for letting me spearhead the agenda and content for the event. I had a great time doing it. O’Reilly was awesome and sent me 5 copies of Michele’s book and 5 of Juval’s to give away. Also thanks to Developer Express and Telerik for donating product licenses for the event. Both those companies can always be counted on to support these kind of events and their giveaways were the first ones to disappear. Also, we had a tech out in Redmond with us every step of the way, monitoring the live feed and standing by in case of problems and we couldn’t have been more grateful to Erik Ostrowski for his help and for being there at 3am his time, to help us out. As a goof, I have away a couple of “What Would Miguel Do?” t-shirts that a client of mine made for me. I couldn’t believe it when one of the guys put it on and wore it for the entire event. It was certainly flattering a very cool gesture. I think that Danny, the DE down in the Philly market wants to put this event on in his territory so I guess that’s where we’ll be taking it next. Thanks again to Microsoft, the local DEs, Don, and all the attendees and listener for help making it a great event. Until next time…
I just zoomed through Scott Berkun’s book, “Confessions of a Public Speaker”, which was recommended to me by my friend Don Demsak. I can’t recommend this book enough to those of you who like me are already public speakers, as well as to those of you who want to break into speaking. Scott delivers his point in an extremely entertaining way while actually sticking to it; which is exactly what the book preaches to do when speaking. The book is written in a first-person form and like the author, I agree this is a great way of keeping a reader engaged. I found it gratifying that a lot of points he recommends in his book are techniques I use today, but more importantly I found so many where I plan to improve that I’m actually excited about my upcoming Tech-Ed presentation and already have ideas for bettering my delivery using stuff I learned here. The book is a quick read, not only because it’s only a couple of hundred pages but because I found it so entertaining and interesting, it was hard to put down. Check this one out cause you won’t regret it. Until next time…
WCF 4.0 incorporates the features previously only obtainable via the REST Starter kit for .NET 3.5. Among the features included is the ability to cache REST requests using a similar technique to caching ASP.NET pages. The 4.0 version of the System.ServiceModel.Web assembly includes an attribute called AspNetCacheProfile which takes a string as an argument. The attribute is to be used on a service contract operation as follows: [OperationContract]
[WebGet(UriTemplate = "/{name}/getGreeting.xml",
BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Xml,
ResponseFormat = WebMessageFormat.Xml)]
[AspNetCacheProfile("CacheFor10Seconds")]
string GetGreetingXml(string name);
The string points to a cache profile to be defined in the config section as follows:
As you can see, this is pretty much identical to setting up cache profiles for ASPX pages. The effect is pretty much what you would expect, the caching of a REST request. This can be proven and tested by implementing the above contract as such: public string GetGreetingXml(string name)
{
return string.Format("Hello {0}. The time is {1}", name, DateTime.Now.ToLongTimeString());
}
Now you can refresh the request and you’ll see the same time for 10 seconds before it changes; once again, the same effect as in caching an ASPX page.
So what did I learn the hard way you ask? Well, common sense dictates that the request go through ASP.NET in order to use its caching capability. This not only means that you have to host in IIS or WAS, but also that you need to turn on ASP.NET compatibility mode. This shifts the processing of the REST request over to an HTTP handler that also sets an HTTP Context for you, something not normally done with conventional IIS hosting for REST services. To turn this on, you must enable it in the section under the section using the aspNetCompatibilityEnabled attribute. Not only that, but you have to “allow” it on the service using the AspNetCompatibilityRequirements attribute.
This part was not a surprise for me since I was already familiar with this technique and the added scope your service receives because it. I’m referring to the entire HTTP Context including session, application, cache, etc. Keep in mind that this is not for everything and should be used in very specific scenarios as it ties the service to the hosting style quite tightly.
What drove me crazy is something I’m surprised I did not notice in the past and that is the fact that your REST requests will not work while using the Visual Studio development server. Meaning you need to create an application in IIS and run it that way. No big deal but it drove me a little crazy since the meta data exposure worked fine, and so did the new HTML Help pages (another new feature in WCF 4.0 For REST). But the second I tried to request one of my URLs, it bombed out. Once I set up my application under IIS, everything was fine.
I have to give credit where it’s due and thank Jon Flanders. I found the answer in his book Restful .NET from O’Reilly press.
Until next time…

Stop starting new projects with ASMX Web Services or .NET Remoting! OK, now that we have your attention, let’s get serious. These two technologies are so 2002! You need to start learning Windows Communication Foundation (WCF) if you haven't already. This is the platform for connected applications on the Windows platform going forward, and you know what? It's easier to use than you may think. Even if you've been tinkering with writing basic services in WCF for a while but haven't dived into anything more advanced, you should come in for the NYC WCF Firestarter. Join us for a full day of nothing but WCF sessions. Ranging from an introductory so you can hit the ground running, and with best practices, continuing with topics involving the most important features of WCF, and ending with some cutting edge material on REST & Microsoft's new service bus and Azure technology in .NET 4.0. We’ve got a great line up of speakers! Presenting at the NYC WCF Firestarter will be Miguel Castro, Don Demsak, and myself (Peter Laudati).  Microsoft NYC Office - 1290 Ave of the Americas - 6th Floor
Event Details Event Date: Saturday June 19th, 2010 Event Location: Microsoft NYC Offices 1290 Ave of the Americas 6th Floor New York, NY 10104 Event Agenda Doors open 8:30am. Sessions run from 9:00am – 5:00pm. Lunch will be served. - Session 1: Keynote – Intro to SOA & WCF
- Session 2: Most Common WCF Usage Scenarios
- LUNCH
- Session 3: REST Programming with WCF
- Session 4: WCF Made Easy – Data & RIA Services
- Session 5: What’s New With WCF 4.0
Session Details Intro to SOA & WCF Jump right in to understanding what service orientation is and how WCF is the preferred technology for this architecture. You'll see how services get written in WCF from scratch and using best practices from the beginning. Most Common WCF Usage Configurations WCF has many characteristics, each with several options. There are however some optimal settings for the most common scenarios. In this session you'll learn the whys and hows for configuring WCF services to work optimally in the areas of instantiation, concurrency, transactions, security, and bindings. REST Programming With WCF With .NET 3.5 came the addition of the System.Service.Web assembly and the addition of REST capabilities to WCF. REST is an HTTP-based messaging protocol that is common in web applications today and even more common in non-.NET services that expose API (think Twitter & Google). In this session, you'll learn how to expose your services using REST and also how to consume non-.NET REST APIs using WCF. WCF Made Easy - Data & RIA Services You have seen all the various ways you can leverage WCF, but what if all you want to do is expose your data via HTTP? In that case, you can simplify your development, by using WCF Data Services or WCF RIA Services. In this session we will learn how to easily expose your data using Entity Framework in a RESTful fashion using WCF Data Services, how to consume WCF Data Services, and then dive into WCF RIA Services.
What's New With WCF 4.0 No Day-Of-WCF would be complete without letting you know what's new with .NET 4.0 and Visual Studio 2010. This session will give you a heads up on several new and powerful features introduced in WCF 4.0. Among these are "Configuration-less Hosting", "Discovery", "Routing", and an intro to the new Azure Service Bus. Swag & Prizes We hope you come to attend the NYC WCF Firestarter for the unique content, providing a FREE opportunity to advance your skills by learning a new technology. However, like many events, we’ll have some fun stuff to giveaway at the end. If you stick around, you will have the chance TO BE THE LUCKY WINNER OF A MICROSOFT ZUNE! YOU MUST BE PRESENT TO WIN.
|