DCSIMG
.NET - Stiller on Software

Stiller on Software

Less is More

Browse by Tags

All Tags » .NET (RSS)
Released: Code Contracts VS2012 Editor Extensions
Code Contracts is an experimental project from Microsoft Research which provides a language-agnostic way to express coding assumptions in .NET programs, thus allowing for improved testability, static verification at compile time and automatic API documentation. If you participated in my session about Code Contracts last week , then you already know that. At my session, I said that Microsoft has not yet released the Code Contracts Editor Extensions for VS2012. Well that, my friends, has changed… Microsoft...
WF 4.5 and Code Contracts: Slide Decks and Code
I’d like to thank all those who attended yesterday’s sessions at the Israeli .NET Developer User Group. I had a good time delivering the sessions, and I hope you enjoyed them as well. What’s New in Windows Workflow Foundation (WF) 4.5? Sample code for the session can be found here . Enhance Your Code Quality with Code Contracts Sample code for the session can be found here . If you attended the session and have an open question, feel free to ask. See you next time! The post WF 4.5 and Code Contracts...
Upcoming Event: Code Contracts Lecture
If you ever used a 3rd party API, you surely know the importance of proper documentation - Can this method return "null"? Do I have to check this return value? What are the valid values of this argument? You also probably know that the only way to discover if your assumptions are correct is to execute the code and pray that exceptions won't be flying around. There must be a better way! Enter "Code Contracts". Code Contracts is an experimental project from Microsoft Research...
Upcoming Event: WF 4.5 Lecture
Windows Workflow Foundation (WF) is Microsoft's .NET implementation of a Workflow authoring and hosting environment. With WF 4.5 developers can easily author workflows using the Visual-Studio built-in WF designer, host them in multiple application environments using the provided runtime engine and even expose them as services for the outside world to consume. Oh, and it's totally free… On Wednesday, March 20th 2013, I’ll give a presentation on WF 4.5 at the Israeli .NET User Group (Microsoft...
Posted: Mar 05 2013, 07:03 AM by Eran Stiller
תגים:, ,
Accessing the AggregateException with await
The await keyword is a new keyword in C# 5.0 which, in tandem with async keyword, allows us to easily author methods which execute asynchronously in regards to the calling code. In previous posts I’ve shown certain issues you should look out for when using these keyword. In this post we’ll look at another issue with the await keyword – how to access the AggregateException . await Only Throws One Exception As we saw in a previous post , await (unlike Task.Wait()) does not wrap a thrown exception in...
Task.Wait() vs. await
The await keyword is a new keyword in C# 5.0 which, in tandem with async keyword, allows us to easily author methods which execute asynchronously in regards to the calling code. In a previous post I’ve shown a certain issue you should look out for when using the async keyword. In this post we’ll check a similar issue with the await keyword. The await Trap Let’s remember our test code from the previous post: class AsyncClass { public void Process(string s) { if (s == null) throw new ArgumentNullException...
VS2012 WF Designer Issues with High DPI Settings
Windows Workflow Foundation (WF) is a core .NET technology for authoring long-running, scalable & integrated business processes. The WF designer that ships with VS2012 is the main tool of choice for declaratively creating workflows in .NET 4.5, however, unfortunately, it has an issue with high Dots-Per-Pixel (DPI) settings. Introducing the Windows DPI Settings As computer monitors arrive with an ever growing resolution on smaller and smaller screens, you might have noticed that the text and icons...
Assembly Binding Redirect Not Working
Assembly Binding Redirect is a .NET mechanism allowing developers who's application was compiled against a certain strongly-named assembly version to swap that assembly with a different version without recompiling the entire assembly. One of the methods for achieving this goal is by placing a special directive in the application’s configuration file, as described on MSDN . .NET Ignores My Assembly Binding Redirect An example of such a configuration section can be seen below: <configuration>...
The async Keyword and Thrown Exceptions
async is a new keyword in C# 5.0 which allows us to easily author methods which execute asynchronously in regards to the calling code. The calling code can call the async method and continue its execution until it decides to join with the called method at a later stage. The async Trap Consider the following method: public void Process(string s) { if (s == null) throw new ArgumentNullException("s"); ProcessCore(s); } private void ProcessCore(string s) { for (int len = 1; len <= s.Length;...
BUILD 2012 - Day 4
The BUILD party has passed, and the final day of BUILD has unfortunately arrived. This day had some interesting sessions which I’ll summarize in this post. Remember – all BUILD sessions are available for free on MSDN Channel 9 . BUILD Session – Deep Dive Into the Kernel of .NET on Windows Phone 8 Unfortunately, the session with this promising name ended up not providing the deep-dive that some of us expected, but I did pick up an interesting pointer. As it turns out, when you deploy a .NET application...
.NET Finalize() and Constructor Exceptions
The Finalize() method in .NET is a special method which allows performing cleanup operations when a managed object is being garbage collected. Overriding this method is usually done in order to release unmanaged resources owned by managed object, resources which the .NET garbage collector is unaware of. The Finalize() Riddle As most .NET developers are aware of, when a managed object which overrides the Finalize() method is marked for garbage collection, it is moved to the finalization queue where...
Expert Days 2011 – Here I Come!
Expert Days is an annual software development conference held by E4D in Israel. This year, for the first time, some of CodeValue’s experts have joined forces with E4D and are participating in order to give you, the attendee, the best possible value. If you are a software developer, software architect, team leader or somehow interested in the hottest available Microsoft technologies – this is definitely the conference you want to be at. The conference is held on 10/07/2011-14/07/2011, and there are...
Architect’s Master Class – Impressions so far
Luckily for me, starting yesterday I had the privilege to attend Juval Lowy’s 5-day Architect’s Master Class which is held in Israel and organized by Gadi Meir’s IDAG . In this Master Class, Juval, a recognized software legend by Microsoft and one of the most well known Software Architects in the world, explains the role of the Software Architect in the Software Development industry and his position in the organization. Listening to Juval is, as always, a pleasure. I am personally happy to find out...
Invoking the Static Constructor via Reflection
-- Warning! -- This post may cause the reader a slight feeling of nausea. However, remember that tough situations call for some tough actions! The Situation Imagine that you have to write some-unit tests for a class which uses an existing infrastructure, involving calls to static methods on a static class. To make things worse, this static class also holds some state which, unfortunately, gets carried around between tests without no actual ability to clear it. public static class MyInfrastructureClass...
Visual Studio 2010 RC Now Available
To all of you out there who are already playing with the VS2010 and .NET 4.0 Beta 2 bits, it was announced today that the Release Candidate version is now available for download for MSDN subscribers and would be made available to the general public on Wednesday. The RC version contains many performance improvements and bug fixes, and should be more mature than Beta 2. I can’t wait to download & install it already!
More Posts Next page »