Good things are hard to kill. One of the most useful predefined compiler macros in C/C++ were __FILE__ and __LINE__ which do expand to the compilation units file name and line number where this value is encountered by the compiler. After 4.5 versions of .NET we are on par with C/C++ again. It is of course not a simple compiler expandable macro it is an attribute but it does serve exactly the same purpose. Now we do get CallerLineNumberAttribute == __LINE__ CallerFilePathAttribute == __FILE__ CallerMemberNameAttribute...
We are almost done everything about the WCF transport extension over the message bus, which makes our services can be scaled out by introducing more instances over machines and servers. We had finished the structure of our transport extension and implemented the request reply mode in the 2nd post, the datagram and duplex mode in the 4th and 5th post. As I have said at the end of the 5th post, currently we can use our transport extension. But there still something left. Although are not that major...
In my previous post I introduced the architecture of message bus based system, the dispatcher mode and the pulling mode. I also explained a bit about the channel mode and transport extensibility of WCF. And then, in order to make the following sample simple and easy to use I created an in process and in memory message bus. In this post, I will demonstrate how to create a WCF transport extension over this memory message bus, for the most common MEP – Request Reply mode. Before we go to the implementation,...
UPDATE April 8th 2012: April Update of Visual Studio 11 Beta. Added Code Contracts - released for Dev 11. New version of NuGet Manager This post is a list of the extensions I recommend for use with Visual Studio 11. It’s coming up all the time – what to install, where are the download sites, last version, etc etc, and thus I thought it better to post it here and keep it updated. The basics are Visual Studio 11 connected to a Team Foundation Server 11. Note that we now are at Beta time, and that also...
Eric Ligman, from Microsoft, posted a great blog post this week listing all of the SharePoint 2010 Virtual Labs that are available from Microsoft. His blog entry is here: http://blogs.msdn.com/b/mss... He also posted other resources as well. I’ve copied his Virtual Lab links here: SharePoint Server 2010 Virtual Labs MSDN Virtual Lab: SharePoint Server 2010: Introduction...
Once again, in this series of posts I look at the parts of the .NET Framework that may seem trivial, but can help improve your code by making it easier to write and maintain. The index of all my past little wonders posts can be found here. Anyone who has done any .NET programming has most likely used the DateTime structure at one time or another in their development. It is a handy structure for storing dates, times, or date-times relating to the local time zone (or, alternatively, UTC). That said,...
During the upgrade of a solution from the Web Api Preview 6 to MVC 4 Beta Web Api, I encountered a bug with a custom MediaTypeFormatter. In the Api controller I had a need to take the posted content object as well as some string identifiers/keys as parameters. The problem I encountered as that if I utilized a custom MediaTypeFormatter, these values came in as NullTake the following Api controller Post: // POST /api/values public HttpResponseMessage<Some... Post(string key, string id, SomeObject...
So I wrote a method. And decided to check the arguments.And if something was wonky, I'd throw an exception.Or two.And I came across this curiosity in the MSDN documentation:public ArgumentOutOfRangeException( string paramName, string message)public ArgumentException( string message, string paramName)Yup. The arguments to ArgumentException and ArgumentOutOfRangeException are the same. But in the other order. Isn't that exceptional...
Last week I was asked to mask or obfuscate a large volume of data residing in a production database for our software quality assurance team to use in testing some functionality. The data resided in various tables and in several columns per table. Yet, this procedure would need to be done over and over again as the data gets depleted. Yet, the masking supposed to be hidden from the QA people and centrally controlled. I proposed to use SSIS. The next day I did a web scan to just find out that noting...
I had a bad experience working with Indexed view because, well, I didn't have much experience working with Indexed View. I hit 5 major issues before I finally gave up.Indexed view does not allow GETDATE() because it's a non-deterministic data type. I could not limit my result set, or put a flag column based on the age of the record.Indexed view does not allow self joinIndexed view does not allow OUTER JOINIndexed view does not do COUNT(*)Indexed view does not allow subqueriesIndexed view does not...
This is my first blog post and will be short and concise. I will get back to formatting later.Edit: Here is the same blog post from MSDN :)http://blogs.msdn.com/b/a... Been playing around with MVC, Scaffolding and Razor a couple of weeks now on my spare time. Think I should write som stuff down here to share with others!I started out here, thanks to Steve Sanderson!http://blog.steve...
In an earlier post I showed you how to implement basic EDI batching, releasing the batch every time 3 messages were waiting. In the real world, you’re probably going to have some other criteria for releasing the batch; in our case a back-end system notifies BizTalk when all HIPAA 837 claims in a single file are ready to be sent. The MSDN page for this process is actually very easy to follow, but I’ll summarize it here. First, you’ll set up a new receive port and location to receive the trigger file....
The key charactersYou may very well run into the same issue I did if you are using the following technologies:Team Foundation Server (TFS) with Team Foundation Build (TFB) - in my case, 2010Visual Studio Unit Tests - also 2010, in my caseReliance on loading assemblies at runtime: Assembly.Load()How might someone run into #3, you might ask? It's pretty common these days teeming with reliance on reflections and other fancy run-time logic. In my case, it was Enterprise Library.IssueI was seeing an issue...
In two previous posts I talked about party configuration and routing of EDI messages: Basic Party Resolution in BizTalk 2010 EDI Party Resolution (& trading partners) in BizTalk 2010 In this post I’ll build off of those examples and set up EDI batching so that we can deliver more than one EDI 810 invoice per file. You’ll need to have worked through the previous two posts to have your BizTalk application ready to follow along with these steps. First, change the File name: of the Contoso Send Port...
Edit: As a result of these tests, I've written a better-performing set of extension methods.I recently wrote an extension method which uses an Expression Tree to create a Func which creates an instance of an object from its Type. With that done I thought I'd check the performance difference between my method and Activator.CreateInstance(), which it was intended to replace.I wrote a simple console application which tested using new, Type.GetInstance() and Activator.CreateInstance() by creating 100,000...
The landscape of SQL Azure backups is changing rapidly. A few tools are becoming available at no charge and Microsoft is adding capabilities over time. Here a quick update.Microsoft ToolsMicrosoft offers two primary backup mechanisms so far:Export/Import feature available on the Azure Management portalThe COPY operation as part of its T-SQL CREATE DATABASE statementThese mechanisms do not offer a scheduling component and do not work together. To obtain a transactionally consistent backup, you first...
Architecture of PeopleSoft Adapter: The BizTalk PeopleSoft Adapter is based on the BizTalk Server Adapter Framework. More info: How the Adapter Is Designed: The Adapter Framework. The PeopleSoft adapter basically communicates with the PeopleSoft Component Interfaces via the PeopleSoft JOLT protocol (over TCP/IP). The adapter communicates with PeopleSoft system by receiving a XML message which is later encapsulated into a SOAP request using the PeopleSoft psjoa classes. With this connection we can...
One problem with email notifications is it usually sends too many emails. Errors frequently happen in series. For example, a temporarily issue with network can result in hundreds repetitive emails. In result an email notification designed as a “VIP” notification is downgraded to the “annoying” status. This email flooding could be mitigated with this solution. A Sample demonstrates using the emails for sending notification in case of failed messages. It compounds several similar errors in one email...
Once again, in this series of posts I look at the parts of the .NET Framework that may seem trivial, but can help improve your code by making it easier to write and maintain. The index of all my past little wonders posts can be found here. A while back I talked about some goodies in DateTime, mostly the properties that let you split out just the date or time. This week, I wanted to look at a couple more methods of the DateTime struct that give you additional control over parsing an input string into...
Its been a while since I've played with Message Queuing and C# and decided that I should reduce that counter.During the simple process of figuring how to follow Microsoft's MSDN directions, I ran into a couple of headaches that could have been solved with a few navigational pictures. To the small number of people that this may help (and my future self when I need to do this again) here are the needed pictures.My journey started out with google and the keywords "installing MSMQ", the first selection...
Recently I uploaded a "BizTalk: Sample: Error Handling" in MSDN Gallery This sample shows the BizTalk features: Routing Failed Messages in ports Catching Failed Messages with Send Port Catching Failed Messages with Orchestration Handling Exceptions inside Orchestration Handling SOAP Fault messages inside Orchestration...
Wishing a very happy and blessed New Year to you in advance! A new release of Microsoft All-In-One Code Framework is available on December 29th. We expect that its 11 new code samples covering typical programming scenarios in Windows Phone 7, ASP.NET, WPF, Windows Shell, and WDK would ease your development in the coming New Year. You can download the code samples using Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand,...
There are a lot of reasons why the 2011 holiday season is a great time to take a look at Azure development. There are a number of offers and releases that allow you to start to explore cloud-based development on the Microsoft platform, best of all; they are all pretty much free to take advantage of. $0 Spending Limit on Azure Trial & MSDN Accounts Ever since the introduction of billing for Windows Azure it has always been an issue for many developers wanting to learn Azure that, if you are not...
I just finished reading new book on Microsoft BizTalk 2010 written by BizTalk colleagues Kent Weare, Richard Seroter, Thiago Almeida, Sergei Moukhnitski, and Carl Darski. There are many good books that explore core BizTalk features for beginners, intermediate, and advanced developers. This one stands out by the fact that it covers relatively less documented aspect of BizTalk development – integrating with different line of business applications. The subject is vast and diverse so attempt to fit it...
Is this blog post worth your time? It’s not challenging setting up the Load Test Rig in the Cloud, it’s more challenging to convince enterprises to embrace the cloud. Not all enterprises will accept their business critical applications being profiled from a VM hosted outside their network. Though through Windows Azure Connect you can join the Cloud hosted Role to the on premise domain effectively forcing the domain policies on the external VM but how many enterprises will authorize you to do this?...
I have had a total of 2 years, 3 months, 2 hours of Windows Azure developer experience and it humiliates me to suicidal extents to confess that I am hardly conversant with the platform’s native Diagnostics technicalities. “I am Tinu Thomas and I am a diagnostic-ignorant Azure Developer.” Oh my god…how could he?? Now that we have that past us <sheepish grin>, I would also like to bask in the afterglow of redemption. Thanks to a much-needed job transition phase, I was able to find enough time...
Welcome to Part 2, In Part 1 we discussed the advantages of creating a Test Rig in the cloud, the Azure edge and the Test Rig Topology we want to get to. In Part 2, Let’s start by understanding the components of Azure we’ll be making use of followed by manually putting them together to create the test rig, so… let’s get down dirty start setting up the Test Rig. What Components of Azure will I be using for building the Test Rig in the Cloud? To run the Test Agents we’ll make use of Windows Azure Compute...
(DISCLAIMER: Yes there are lots of more elegant ISO software beside the free Microsoft one I’m about to show. But free is free and it has been tested and works for me for making advance bootable USB drives. That is another story. Look up Windows 8 Developer Preview for that one on BING.) For those of use that work with new technology all the time we accumulate a lot of ISO files and have to burn them to CD/DVD’s quite often. But we now have machines without burner in the corporate environment. We...
For several years, I use TDD (Test-Driven Development) to produce code. I no longer plans to work without using TDD. The use of TDD significantly increases code quality, but does not guarantee that the code is the code that corresponds to the requirements specifications (write the "right code" with BDD as opposed to the write "code right" with BDD). Dan North has described in an article in published in 2006 the foundations of the BDD (Behavior-Driven Development). In this article, he introduces the...
Welcome back once again, in Part 1 of Load and Web Performance Testing using Visual Studio 2010 I talked about why Performance Testing the application is important, the test tools available in Visual Studio Ultimate 2010 and various test rig topologies, in Part 2 of Load and Web Performance Testing using Visual Studio 2010 I discussed the details of web performance & load tests as well as why it’s important to follow a goal based pattern while performance testing your application. In part 3 I’ll...
So in my previous posts I showed you how I used EDMX to quickly build my business objects within XPO and XAF. But how do you test whether your business objects are actually doing what you want and verify that your business logic is correct? Well I was reading my monthly MSDN magazine last last year and came across an article about using SpecFlow and WatiN to build BDD tests. So why not use these same techniques to write SpecFlow style scripts and have them generate EasyTest scripts for use with XAF....
Performance testing is almost always conducted to address one or more risks related to expense, opportunity costs, continuity, and/or corporate reputation. But not everyone thinks their application requires investment in performance testing. We presented few of our clients who were heavily focussed on functional requirements but did not care too much about the Non-functional requirements with a short questionnaire, User’s will be happy if the website loaded in <= ___ seconds. How many extra seconds...
Yikes... left off all my information last night! In this Issue: Jay Kimble, Charles Petzold, Peter Kuhn, Adam Kinney, Ollie Riches, Abhinaba Basu, Mike Taulty, Erik Mork, Kunal Chowdhury, Cheryl Simmons, Beth Massi, Joost van Schaik, Timmy Kokke, David Catuhe, Igor, and Dhananjay Kumar. Above the Fold: Silverlight: "New version of Babylon engine for Silverlight 5 and Silverlight 5 Toolkit" David Catuhe WP7: "A behavior to show the Windows Phone 7 camera as background" Joost van Schaik Beth Massi:...
About a month ago, Microsoft announced the release of Lync for Mac. If you have access to TechNet or MSDN you likely have access to download this tool. Among the benefits of the tool, being able to connect to Office 365. Exciting news, yet for some odd reason it was a battle if you had upgraded to Lion (have not heard of anyone having issues that is running on Snow Leopard). Microsoft then released an update for Lync for Mac. Now, after the update, it was still no dice for me. Upon further research...
· For the last decade, the majority of my dev work has leveraged the .NET Framework for construction of information systems. However, my interest has lain in numerical computing. · Is it possible to have an increasingly higher level of abstraction and at the same time achieve underlying high performance computing? The prevailing winds say no: C# is aimed at productivity, and C++ is for performance. Garbage collection was great, but do we still need it with the availability of smart pointers? Would...
I am playing more with the Windows Developer Preview and simply love the backward compatibility it has for applications that used to work in Windows 7. And one of the applications critical to my day-to-day life is Visual Studio. Visual Studio 2010 with SP1 and ASP.NET MVC 3 Tools is my everyday requirement. Windows Developer Preview when installed from the MSDN Center has two flavors. One with the Developer Tools which I would assume, most of us developers would want and the other one, which is simply...
If you, like me, have ever looked over the MSDN documentation and though how nice it would be to have that type of documentation for your codebase, SandCastle is the tool you’ve been looking for. SandCastle is a Codeplex project initiated by Microsoft in order to provide MSDN-esque documentation for .NET projects or asssemblies. The documentation can come in several formats such as CHM files or a website. GhostDoc and SandCastle Help File Builder To get started with SandCastle for documentation,...
Everyone, Thursday, all day there is an MSDN webcast on building Windows Phone 7.5 apps. If you haven’t tried your hand at developing for the WP platform, I highly recommend watching this either live, or when they become available as individual streaming downloads. You may not own a Windows Phone, and that’s cool and all, but being a .NET developer puts you in a great spot to make applications or games that can reach millions. The great part is, if you don’t have a phone, YOU DON’T NEED ONE to write...
In the last few weeks I have had the pleasure of familiarising myself with various async patterns in C#. After going through the different approaches one gets a feel for how far we have come since the .Net 1 days. One particular pattern that I was not familiar with implementing but which has been available since the beginning of .Net is what I call the Async Begin / End Pattern. Since my interest is really making calls asynchronously so that I don’t block the UI thread - from what I can tell this...
This post is another in a series that contains generic utility classes I’ve developed along the way to help make coding a bit easier. If these already exist as part of the framework and I’ve overlooked them, feel free to let me know! And if you know of a better way to implement them, do the same! I’m never too old to learn something new (I hope!). Update: modified the TryDispose() method to check for IsCompleted first and mark any Task exceptions as handled. So recently, I’ve been moving some older...
Today, we reached a new milestone of Microsoft All-In-One Code Framework. It gives me great pleasure to announce our newest Microsoft All-In-One Code Framework Sample Browser - v4 available to the globe. With this release, we embrace the hope of giving global developers a completely new and amazing experience to enjoy over 700 Microsoft code samples. Compared with the previous version, this new version of Sample Browser is completely redesigned from tip to toe. We heard lots of users’ voices about...
Not long ago at all Microsoft announced Lync for Mac had been released to RTM. Now it is available for download from MSDN and TechNet. More information on what Lync for Mac does and what it brings to the Mac platform here: http://www.microsoft.com/ma...
Here is the interesting problem of the week... finally figured it out! All of a sudden this Monday, our clients started getting "Service Unavailable" errors all of a sudden. I looked deeper in to it, and it turned out the Application Pool on IIS6 for the ASP .Net app had crashed. So I restarted it, and everything started working again. But this started happening intermittently about twice daily. Big problem. The event log on the server showed: Application pool 'XXX' is being automatically disabled...
Hi All, Microsoft MSDN Launched "Test Center" : A community where software testers can share knowledge and learn from each other. URL :http://msdn.microsoft.com/... Thanks Abhishek...
In this Issue: Peter Kuhn, Scott Hanselman, David Anson, Kunal Chowdhury, Beth Massi, Rajat Jaiswal, MIke Ormond, WindowsPhoneGeek, Xianzhong Zhu, Jesse Liberty, Derik Whittaker, Morten Nielsen, Sumit Dutta, Asim Sajjad, and Dhananjay Kumar. Above the Fold: Silverlight: "How To Use DataTriggers In Silverlight DataGrid" Dhananjay Kumar WP7: "Windows Phone eBook 1st Edition Published" MIke Ormond LightSwitch: "Filtering Lookup Lists with Large Amounts of Data on Data Entry Screens" Beth Massi Windows...
I have been part of the Azure TFS Technical Access Preview (TAP) since March 2011. TFS Azure has been previewed and officially announced as TFS Service in the 2011 Build Conference, California. The Non-Disclosure Agreement has been lifted from the participants of the TAP program. The below excerpt from bharrys blog encourages early adopters to provide feedback. "We’ve been running the service for months now and it’s been working reliably. I suspect now that they can talk about it, you’ll be able...
The Visual Studio 11 Developer Preview was released to MSDN subscribers yesterday, and will be available in general release tomorrow (9/16). There's way too many new features to list them all here (for all the product highlights go to http://msdn.microsoft.com/e... but here are a few that interest me the most: Enhanced multi-monitor support .NET Framework regular expression syntax in Find and Replace IntelliSense enhancements for JavaScript JavaScript breakpoints...
On August 31st I was pleasantly surprised by Microsoft when they notified me of receiving the Community Contributor Award. Here is an excerpt of the email: “Congratulations! We’re pleased to inform you that your contributions to Microsoft online technical communities have been recognized with the Microsoft Community Contributor Award. The Microsoft Community Contributor Award is reserved for participants who have made notable contributions in Microsoft online community forums such as TechNet, MSDN...
Advice concerning ApplicationException is somewhat conflicting. If you look at the MSDN Framework 2.0 advice, it would appear that user defined exceptions should inherit from it, however for the current advice see the framework 4.0 advice at http://msdn.microsoft.com/e... In particular you should note the statement "If you are designing an application that needs to create its own exceptions, you are advised to derive custom exceptions from the...
This is huge – and a welcomed addition. Been waiting too long for this. Bringing Hyper-V to “Windows 8” - Building Windows 8 - Site Home - MSDN Blogs...