Click here to Skip to main content
Click here to Skip to main content

A list of useful articles from MSDN magazine

By , 23 Aug 2012
 

Introduction

This is perhaps not a tip as such, except that reading MSDN magazine is something every .Net developer should do regularly - so my tip would be to read each edition.

Background

There are many, many useful MSDN articles and I just want to provide links to some that provide very useful information for those of us that work with that platform.

.Net internals

Intermediate

  • Marshaling between Managed and Unmanaged Code[^] by Yi Zhang and Xiaoying Guo - January 2008

    Interesting tidbits about P/Invoke, including a few tricks that can be used to ensure efficient buffer management. The authors also give a detailed explanation about the things you need to know when calling managed code from native code.

  • CLR Hosting APIs[^] by Alessandro Catorcini and Piotr Puszkiewicz - August 2006

    A brief introduction to the CLR hosting APIs. The article is pretty short for such a complex topic, but the authors manage to show how CLR hosting APIs fits together.

  • Understanding The CLR Binder[^] by Aarthi Ramamurthy and Mark Miller - May 2009

    The CLR Binder locates the assemblies at run time and binds to them, so understanding how it works is pretty useful.

  • Introduction to COM Interop[^] by Thottam R. Sriram - January 2007

    COM is a pretty useful technology, and Microsoft spent a lot of effort making integration between .Net and COM as painless as possible. This article gives a thorough introduction to the basics of COM interop.

    If you want to learn more, Adam Nathan has written an excellent book .NET and COM: The Complete Interoperability Guide[^] which covers just about all you could possibly want to know about the subject.

  • Best Practices For Managed And Native Code Interoperability[^] by Jesse Kaplan - January 2009

    Good advice on when to use P/Invoke, COM Interop or C++/CLI.

  • Managing Object Lifetime[^] by Tim Fischer - November 2007

    That .Net has a garbage collector does not mean that we can forget about resource management, and this article touches on some of the thornier issues related to this.

  • Exploring the .NET Framework 4 Security Model[^] by Andrew Dai - November 2009

    If you are interested in .Net security Shawn Farkas’ .NET security blog[^] provies a lot of valuable information too

  • Credentials and Delegation[^] by Keith Brown - September 2005

    if you negotiate down to NTLM, delegation is not going to work. For example, if either the Web server or SQL Server is running under a local account (such as the default ASPNET account on Windows 2000) or the built-in Local Service account, Kerberos cannot be used, so NTLM will be negotiated, and delegation will not work. In order to have a chance at negotiating Kerberos, both client and server must be using domain accounts to authenticate.

    In my experience this is the most common source for problems related to delegation.

  • What Every Dev Must Know About Multithreaded Apps[^] by Vance Morrison - August 2005

    A good introduction to .Net multi-threading.

  • Understand the Impact of Low-Lock Techniques in Multithreaded Apps[^] by Vance Morrison - October 2005

    A good detailed treatment of locks, which type to use and where to use them.

  • Thread Management In The CLR[^] by Erika Fuentes and Eric Eilebrecht - December 2008

    Tidbits about .Net concurrency.

Good explanations

  • Digging into IDisposable[^] by Shawn Farkas - October 2005

    It's worth noting that sometimes void Dispose(bool disposing) is incorrectly implemented like this:

    protected virtual void Dispose(bool disposing)
    {
     if (disposing)
     {
      // Clean up all managed resources
      // Clean up all native resources
     }
    }
    

    Obviously this turns Dispose into a mandatory operation. The information about security and garbage collection is also well worth noting. So basically you should never rely on the garbage collector cleaning up native resources correctly and always make sure you call Dispose.

  • Writing Reliable .NET Code[^] by Alessandro Catorcini and Brian Grunkemeyer and Brian Grunkemeyer - December 2007

    The article provides insights that are useful when you have to write reliable applications, and it explains why your web application may be terminated at any time – something that seems to surprise a lot of people.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Espen Harlinn
Architect Goodtech Projects & Services AS
Norway Norway
Member
Principal Architect - Goodtech Projects & Services AS.
 
Specializing in integrated operations and high performance computing solutions.
 
I’ve been fooling around with computers since the early eighties, I’ve even done work on CP/M and MP/M.
 
Wrote my first “real” program on a BBC micro model B based on a series in a magazine at that time. It was fun and I got hooked on this thing called programming ...
 
A few Highlights:
  • High performance application server development
  • Model Driven Architecture and Code generators
  • Real-Time Distributed Solutions
  • C, C++, C#, Java, TSQL, PL/SQL, Delphi, ActionScript, Perl, Rexx
  • Microsoft SQL Server, Oracle RDBMS, IBM DB2, PostGreSQL
  • AMQP, Apache qpid, RabbitMQ, Microsoft Message Queuing, IBM WebSphereMQ, Oracle TuxidoMQ
  • Oracle WebLogic, IBM WebSphere
  • Corba, COM, DCE, WCF
  • AspenTech InfoPlus.21(IP21), OsiSoft PI
 
More information about what I do for a living can be found at: harlinn.com or LinkedIn
 
You can contact me at espen.harlinn@goodtech.no

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5mvpJani Giannoudis16 Aug '12 - 20:25 
Thanks Aspen, good articles.
You may add information about author and issue (year/month).
GeneralRe: My vote of 5mvpEspen Harlinn16 Aug '12 - 22:19 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 24 Aug 2012
Article Copyright 2012 by Espen Harlinn
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid