Christian Nagel's OneNotes

.NET Training, Consulting, Coaching - C#, Web Services, Enterprise Services, ASP.NET, Whidbey, Longhorn and More!

Sponsors

Affiliations

Books I've written

INETA UG Leaders

My Blogroll

Steve Ballmer on Channel 9!

Steve Ballmer was interviewed for channel 9!

The video can be downloaded, the transcript of the chat is here.

Steve answered questions about the evangelism team, blogging, why Microsoft cares about developers, innovation at Microsoft.....

Christian

Posted: Jul 08 2005, 09:18 AM by CNagel | with no comments
Filed under:
INETA at Teched Europe
  • How can I start a usergroup?
  • Is a usergroup near my location?
  • Why should I join a usergroup?
  • How does INETA support usergroups?
  • How can I help INETA Europe?

Meet Damir other INETA volunteers and myself at the INETA booth at TechEd Europe!

Christian

Posted: Jul 05 2005, 02:51 PM by CNagel | with no comments
Filed under: ,
Web Services Contracts

Christian Weyer, Beat Schwegler and Maarten Mullender joined forces to create cool articles articles about Web Services contracts.

The first article, Dealing with the "Melted Cheese Effect" is online!

Christian

Posted: Jul 02 2005, 09:26 PM by CNagel | with no comments
Filed under:
Thinktecture at TechEd Europe

Thinktecture is very busy at TechEd Europe:

Tuesday

  • 12:00, Christian Nagel (& Damir Tomicic), BOF - INETA EMEA Today and Tomorrow
  • 16:30, Christian Nagel, BOF - New Features of C# 2.0: Is New C# Code Too Complex?
  • 16:30, Christian Weyer (& Steve Swartz), CTS356 - Implemeting "Indigo" Endpoints - Addresses, Bindings and Contracts
  • 18:30, Christian Nagel: ATE booth

Wednesday

  • 10:15, Ingo Rammer (& Steve Swartz) - CTS366: Implementing "Indigo" Endpoints - Secure, Reliable, Transacted Messaging
  • 12:00, Ingo Rammer (& Arvindra Sehmi) - CHT028: Performance, Scalability and Availability
  • 13:45, Christian Weyer (& Rafal Lukawiecki, Steve Swartz, Michele Leroux Bustamante, Omri Gazitt) - PNL003: WS-I_M_REALLY_CONFUSED
  • 14:45, Christian Weyer (& Maarten Mullender) - CHT030: Turn Left or Right? How to Best Design Your Web Service Interface

Thursday

  • 14:00, Christian Nagel, ATE booth
  • 14:45, Ingo Rammer - CTS448: Optimizing Scalability, Performance and Availability with Systems Built on the .NET Framework
  • 18:15, Christian Weyer, CTS357: My Home is My Castle: Hosting and Running Your .NET Applications

Friday

  • 11:00, Christian Nagel, ATE booth
  • 16:15, Christian Weyer, CTS465: From Dusk Til Dawn: Choose *Your* Approach to Design and Develop Web Services Applications on the .NET Platform

See you there!

Christian

Posted: Jul 01 2005, 11:21 PM by CNagel | with 9 comment(s)
Filed under: ,
TechEd Europe - Amsterdam

At TechEd Europe I will present a BOF session about the directions of C#:

BOF012, New Features of C# 2.0: Is New C# Code Too Complex?
Tuesday, 5-July 16:30-17:45

I will also be available for discussions about INETA Europe:

BOF011, INETA EMEA - Today and Tomorrow
Tuesday, 5-July 12:00-13:15

At other times you will find me at the ATE booth.

See you there,
Christian

My newest book: Enterprise Services with the .NET Framework

Posted: Jun 30 2005, 12:11 AM by CNagel | with no comments
Filed under: , ,
SearchWin2000.com: Chapter of the Week

A chapter of my new book

Enterprise Services with the .NET Framework

is available at searchwin2000.techtarget.com!

Christian

Posted: Jun 07 2005, 07:31 AM by CNagel | with no comments
Filed under:
Enterprise Services with the .NET Framework

The first copies of my book

Enterprise Services with the .NET Framework

have been printed!

I can't wait to have it in my hands!

You can read great comments about the book from William G. Ryan (Microsoft MVP), Burt Clayton and Brian Davis on the Addison Wesley Web site.

The book is available at TechEd US!

Christian

Posted: Jun 03 2005, 03:33 PM by CNagel | with 10 comment(s)
Filed under:
Book list on bookpool

Bookpool has published my list of favorite books!
Check it out!

Christian

Posted: May 06 2005, 12:30 AM by CNagel | with 3 comment(s)
Filed under:
C++/CLI, IDisposable and Finalize

With Beta 2, C++/CLI changed the code that is generated with the destructor (~Class) and the explicit finalize (!Class). It's a great improvement! Now the Dispose(true) pattern for embedded objects is implemented with this code that just contains a destructor and a explicit finalize:

ref class Resource
{
public:
  ~Resource() // IDisposable
  {
    // release resource
  }

protected:
  !Resource() // Finalize
  {
    // release resource
  }

};

The result of this C++/CLI code not only implements the IDisposable interface and overrides the Finalize method (as it happened with earlier releases), but also implements Dispose(true) as can be verified with the IL code:

ref class Resource : IDisposable
{
public:
  void Dispose()
  {
    Dispose(true);
    GC.SupressFinalize(true);
  }
private:

  ~Resource()
  {
    // release resource
  }
internal:
  void Dispose(bool disposing)
  {
    if (disposing)
      ~Resource();
    else
    {
      try
      {
        !Resource();
      }
      finally
      {
        Object::Finalize();
      }
    }
  }
internal:
  void Finalize()
  {
    Dispose(false);
  }
private:
  !Resource()
  {

  }

};

It would be great to have such a feature with C#.

Christian

Posted: Apr 27 2005, 09:15 PM by CNagel | with 3 comment(s)
Filed under:
Friend Assemblies

The C# access modifier internal defines access is only allowed within the assembly. This is what .NET 1.0 defined. With .NET 2.0 friend assemblies are allowed to access these members, too. Friend assemblies are defined with the attribute class InternalsVisibleToAttribute:

[assembly:InternalsVisibleTo ("AssemblyB, PublicKeyToken=32ab4ba45e0a69a1")]

Christian

More Posts « Previous page - Next page »