WCF and WF Services in .NET Framework 4.0

WCF and WF Services in .NET Framework 4.0

My latest WCF/WF article was recently published in the January issue of MSDN Magazine. It focuses on the new features found in WCF/WF 4.0 with a special focus on the changes to the WF programming model, XAML-based declarative workflows/services, and the new hosting environment provided by the new "Dublin" application server extensions. .NET 4.0 marks a big shift for WCF/WF moving forward. Check it out here.

cc157190.cover(en-us)

New ESB Guidance 2.0 CTP Out

New ESB Guidance 2.0 CTP Out

Yesterday the Microsoft team released a new tech preview of the ESB Guidance 2.0 package.
What’s new?  I’ll be installing this today so we’ll see what “LDAP Resolver” and “SMTP Adapter Provider” actually are.  Looks like some good modifications to the itinerary design experience as well.  The biggest aesthetic change is the removal of the dependency […]

New year, new role. I have joined Microsoft.

This has been a while coming, and is a big change for me personally, so I can be verbose in my post about it.

When I joined Neudesic (wow, I’ve been blogging a long time) more than 5 years ago, I was employee #12. The company has grown rapidly to somewhere over 250 people now, offices across the US and offshore. During my tenure with Neudesic, I had the opportunity to be involved in some very advanced, high-profile and challenging projects. It was a fun ride, and I like to think that my efforts contributed to the growth of the company and its reputation.

However, all that changes this week, as I have joined Microsoft. My title is Principal SOA Architect, and my territory is the US SouthWest.

Some things will change:

  • I’m not an MVP anymore as I’m no longer “independent”
  • I resigned as President of the San Diego .NET user group (after something like 7 years) although I continue to lead the Connected Systems SIG, and remain a Director (they wouldn’t let me leave)

Other things will not change:

  • I will continue helping customers use technology to improve processes, realizing operational cost savings and increased efficiencies
  • I will continue to immerse myself in new technologies, and evangelize them
  • I keep living in San Diego, although I may continue playing a role in supporting various airlines 🙂
  • This blog lives on: it is my intention to continue blogging here (remember the new URL: blog.BrianLoesgen.com). This may change, but I don’t think so at this time.

The reaction I’ve gotten from everyone (inside and outside Microsoft) has been phenomenal. Everyone thinks this role is ideal for me, and I think so too. I get to harness my passion for technology to help customers, and to do so on a greater scale than before, what’s not to like? If you’ve been following my posts or seen me speak about Oslo/Dublin/BizTalk/Azure/.NET 4, you’ll know that I’m really excited about this whole wave of technologies coming towards us. This time around, I’ll surf the wave from inside.

So, I’m excited, and looking forward to the road ahead

Reflector add-in: Favorites

Every developer knows about and uses Reflector 😉 I use it a lot to learn about the inner workings of products. When analyzing what goes where and why, it’s easy to lose track (jumping from method to method to base class, etc.). Bookmarks are quick and easy, but don’t allow for a description to be added. If I need to get back to a certain point within my analysis two weeks (ok, ok, two minutes ;-)) later, the Type declaration from the bookmarks doesn’t help me.


Meet Reflector Favorites!


I wrote Reflector Favorites. It allows for developers to:



  • Easily tag a location within Reflector, adding a description that works for you.
  • Import/Export favorites between computers.
  • Share favorites (they work as long as you have the right assemblies opened in Reflector).


Reflector Favorites in action.



I hope someone finds this useful. As always, use at your own risk, no warranties of any kind.




 



I’ll be doing an “Oslo” overview presentation tomorrow (Jan 15 2009) night in Santa Ana at the IASA meeting

I’ll be doing an “Oslo” presentation tomorrow night at the International Association of Software Architects (IASA) SoCal chapter. Meeting is at Rancho Santiago Community College District, 2323 N. Broadway, Santa Ana. Meeting starts at 7:00 pm, pizza and networking 6:30 pm. RSVP by emailing to [email protected] if you plan to attend. Hope to see you there!

A Look at Microsoft’s “Oslo” Modeling Platform

Microsoft’s “Oslo” project is part of a major initiative that represents a wave of technologies aimed at making it easier to construct, deploy and manage distributed applications and services. It is an evolution of SOA technologies, encompassing Windows Communications Foundation, the next version of .NET, BizTalk Server, Windows Workflow Foundation, Visual Studio and more. Using those technologies as a starting point and building on them, Oslo introduces a modeling language, tooling and a repository that allow the creation of role-based tools that can be used throughout an application’s lifecycle.

The impact “Oslo” will have on the developer community using Microsoft tools cannot be understated. The goal of “Oslo” is to provide a 10x productivity gain by making model-driven applications mainstream with domain-specific models, languages, and tools.

In this session we will take an early look at the architecture, some of the capabilities and tools that “Oslo” provides and enables.

Technorati Tags: Oslo,SOA,Dublin,BizTalk

Ajax PageRequestManagerParserErrorException when streaming a Reporting Services Report as PDF

Ajax PageRequestManagerParserErrorException when streaming a Reporting Services Report as PDF

In a lot of the web applications that I write, there is a need to stream a report back to the browser as a PDF.   With code something like this:


 //response to user’s web.
            Response.Expires = 0;
            Response.Buffer = true;
            Response.ClearContent();
            Response.AddHeader(“content-disposition”, “inline; filename=” + “output.pdf”);
            Response.ContentType = “application/pdf”;
            Response.BinaryWrite(outBuf);
            outStream.Close();
            Response.End();


Now that I am playing around with the Ajax Toolkit (specifically the ModalPopupExtender) in Visual Studio 2008, it has become clear that you really need to control whether you want asynch or full postback.


If your button that produces the report is in an UpdatePanel, and you are manipulating the Reponse to stream the report back, then you will probably want a normal postback.


This is accomplished by adding a Triggers element to your UpdatePanel as below:


 <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server”>
<Triggers>
 <asp:PostBackTrigger ControlID=”btnApplicationOK” />
 </Triggers>


In this case the button btnApplicationOK is inside the UpdatePanel so it’s default behaviour is to perform a partial (Ajax) postback and it will not like you manipulating the Reponse, so you will get an error like the one below. The fix is to add the PostBackTrigger as mentioned.