-
|
While cleaning my room today i found a hard copy of an ebook from Microsoft titled "Developer Highway Code" this ebook includes lots of tips regarding how to develop secured application. While thinking if to save the book or give it away I've decided to search and see if there is still a copy of this book available to the public. Not only that it is available.. there is also a new chapter regarding securing Windows Communication Foundation. Direct download Microsoft UK - Developer Highway Code Microsoft UK - Security - Lots of links to security docs Read More...
|
-
|
For the next major version of a certain application I'm working on (gee, what might that be ) I'm researching some UI frameworks and techniques. In the past few months I've spend most of my time working on application support library code, language designs, algorithm design etc. etc. (more on that in a later article) and I arrived at the point where I wanted to see how my vision for the major version would work in a draft application, just to see how the various elements would work together visually. One of the first questions one would ask these days when a new desktop application is started is: WPF or Winforms? The current version is build with Winforms all the way though it's tempting to go for WPF, as it's new, has nice...
|
-
|
Project Prism - Composite Application Guidance for WPF just shipped release candidate 1 ! So if you are looking for a guidance of how to build a loosely coupled composite WPF application this guidance is for you. Check it out over here ( http://www.codeplex.com/CompositeWPF ) Read More...
|
-
|
After almost 11 months of design, development, beta testing and adding final polish, it's here: LLBLGen Pro v2.6 ! This version, which is a free upgrade for all our v2.x customers, has a couple of major new features, the biggest of course being the full implementation of Linq support in our O/R mapper framework. The work on our Linq provider, which we've dubbed 'Linq to LLBLGen Pro', lasted almost 9 months and was discussed on this blog in a series of articles, which I'll linq ( ) to below. In the beginning of writing the Linq provider, I was pretty optimistic that it would be easy and quick, but after a while I got very pessimistic and wanted to skip it entirely as it would simply cost too much effort, and therefore time...
|
-
|
This afternoon I was writing some VB.NET specific Linq queries for the documentation for our upcoming LLBLGen Pro v2.6 (currently in beta) version, and typically I was simply porting over C# queries to VB.NET code and see if they work and if they do, use them, if not, start some cursing, quests for help in the MSDN docs and repeat the process. During my travels through the MSDN Linq documentation and what Microsoft had added to VB9 (.NET 3.5), I ended up in the VB.NET Linq specific language clauses documentation. One of them is about the Aggregate clause. The Aggregate clause was a strange fellow to me. It didn't ring any bell. What does it do? Well, let's look at a typical example: I want to fetch the maximum OrderDate for the Northwind...
|
-
|
Imagine, you're sitting at your desk and you're using the Linq to Sql designer in VS.NET 2008 and you have, say, 50 entities in your model. You're happy about how things are progressing. It took a while to get the model set up, considering the wicked table and field names they cooked up in the DBA dungeon, but after some swearing and too much caffeine, it's done. The model which is smiling back at you is what you had in mind. Rain slams against the window and the DBA you have heard about but never had the chance to meet in person, walks into your office and with her whiskey-shaped voice she almost whispers into your left ear: "Son, I've updated a few tables in your catalog schema, hope you don't mind. See ya!"...
|
-
|
GAT/GAX the Guidance Automation Toolkit/Extensions are hard to remove once you have them installed, following is a procedure I am using in order to migrate the GAT/GAX. Make a copy of C:\Documents and Settings\All Users\Application Data\Microsoft\Recipe Framework\ReceipeFramework.xml Edit the ReceipeFramework.xml and remove the tags inside the <GuidancePackages> key. Uninstall the GAT/GAX via the control panel. (prior to removing the packages the gat/gax wont let you uninstall it) Install the new GAT/GAX versions. Edit the ReceipeFramework.xml and insert back the removed files (from the copy that you've saved in step 1) You will end up with a new GAT/GAX which has the same packages at before. Read More...
|
-
|
Unity, the next object builder, had been released yesterday to the wild ! During the preparation for TechEd's Prism deck I've got into core relationship with this new DI Container from Microsoft. One of the patterns which are the basis of Prism is Dependency Injection and as such Prism is designed to use a facade which will enable us to choose our own preferred DI container. Of course we need a default DI container and Unity is the one. So hurry up and download it over here Read More...
|
-
|
Today we released the beta of Linq to LLBLGen Pro to our customers so they can dig in and check if we provided the right code, if everything works allright etc.! If you're an LLBLGen Pro v2.x customer and you want to check out our Linq implementation, please check the customer area to download the beta package. As I said in my last episode of the (long running) series 'Developing Linq to LLBLGen Pro', it took near 6 months to get this far, and it wasn't a walk in the park. However the last 3-4 months have been pretty OK, once everything was clear and I knew what to expect and what to do. Looking back I'm very happy we did take this step to provide full Linq support for LLBLGen Pro. Linq for LLBLGen Pro is part of LLBLGen...
|
-
|
(This is part of an on-going series of articles, started here ) Cast again The last episode in this series contained a remark about Queryable.Cast , and that it can be ignored. I've to correct myself there, this isn't entirely correct. Let's look at the example query at hand: // LLBLGen Pro Linq example var q = from e in metaData.Employee.Where(e => e is BoardMemberEntity).Cast<BoardMemberEntity>() select e.CompanyCarId; Here, the Cast is actually irrelevant because the Where already filters on the BoardMemberEntity type. However in the following small query, it's not: var q = from e in metaData.Employee.Cast<BoardMemberEntity>() select e.CompanyCarId; Here, the Cast is actually a type filter. Well... sort of. The thing is: there...
|