Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Community Bloggers

Browse by Tags

All Tags » CLR   (RSS)

  • On Instance and Static Method Signatures

    We talked today, with Miha , a C# Yoda . Via IM, everything seemed pointless. Couldn't find a good case for the cause of the following mind experiment: using System; class Tubo { public static void Test() {} private void Test() {} } Note: I'm using Miha's syntax in this post. We have a static method called Test and an instance method , also called Test . Parameter models of both methods are the same, empty . Would this compile? It does not. The question is why and who/what causes this. There is actually no rationale behind not allowing this thing to compile since both, the compiler and the runtime know the method info upfront. Since the runtime has all the information it needs, it is strange that this would not be allowed at compile time. However, a (C#) compiler has to determine whether you, the programmer meant to access a static or an instance method. Here lie the dragons. It is illegal in most virtual machine based languages to have the same method name and signature for a static/instance method. The following is an excerpt from a Java specification : 8.4.2 Method Signature Two methods have the same signature if they have the same name and argument types. Two method or constructor declarations M and N have the same argument types if all of the following conditions hold: They have the same number of formal parameters (possibly zero) They have the same number of type parameters (possibly zero) Let <A 1 ,...,A n > be the formal type parameters of M and let <B 1 ,...,B n > be the formal type parameters of N. After renaming each occurrence of a B i in N's type to A i the bounds of corresponding type variables and the argument types of M and N are the same. Java (and also C#) does not allow two methods with the same name and parameter model no matter what the access modifier is (public, private, internal, protected ...) and whether the method is static or instance based. Why? Simple. Programmer ambiguity. There is no technical reason not to allow it. Consider Read More...
  • New and Notable 182

    I could get used to this rolling out of bed into my office thing BizTalk Server The highly anticipated R2 release (the one with WCF Adapters) of BizTalk Server 2006 is coming real soon! Worldwide launches take place in September and October . WCF/WF Dr, Nick announces the WCF/WF/Cardspace Beta 2 samples , again, this time not pointing to the Beta 1 samples :) Sharepoint/MOSS Just Published: Major Update to the MOSS and WSS Downloadable SDKs CLR My friend Lutz updates the #1 tool in the .NET world, Reflector, for Orcas Beta 2! Stop what you're doing and get it! Along with that, one of the best add-ins, Reflector.Emit has been updated Another mastereful post from Joe Duffy: Thread interrupts are (almost) as evil as thread aborts Read More...
  • Neudesic

    So, since I am out here in Irvine CA for our annual meeting, and I have just pushed out a Plaxo update to everyone, I guess it's time to let you all know that I have joined Neudesic as a Principal Consultant II, heading/responsible for the Connected Systems/SOA practice for the East Coast. I will have a bit more to say soon. I would expect this blog to change focus to SOA, BizTalk, WCF, WF, and all Connected Systems especially in large Enterprise accounts that is now my respoinsibility to run and enable the growth of. We have a lot of openings for experienced people with at least 7-10 years experience and I have a team to build for the East Coast so contact me if you would like to be part of it. Read More...
  • New and Notable 179

    Ever hear the story of the guy who responded to ScottW's Facebook NJ Developers and DonXML 's same email and gets addicted to Facebook ? CLR/Rotor Phil Haack has a most excellent tip on an easier way to see the Rotor code. Instead of doing the whole multi-hour Rotor unzipping and building dance, you can view most of the code online here ! Design Patterns/UI/CAB/Software Design/Agile Jeremy continues his brilliant series with his Build Your Own CAB #14 . I'm not going to quote the whole title as it has too many buzzwords to type :) Speaking of buzzwords, Chris combines a mouthfull in his most excellent post: NUnit, NBehave, DSLs, Fluent Interfaces - and other popular gibber jabber. You should read it. Windsor/IoC Jeremy Jarrell has started an excellent series on tools that we Agile developers use. The first piece is an excellent down-to-earth tutorial on Windsor, the Inversion of Control (IoC) container piece of the Castle Project , the same guys that bring you MonoRail IronRuby Scott Hanselman continues the Iron Ruby juice with a WPF Sample in IronRuby talking via C# to Wesabe WCF/Distributed .NET Matevz Gacnik has an interesting post where he managed to get distributed transaction scenario working using WCF , MTOM and WS-AtomicTransactions . [tags: CLR, C#, Rotor, WPF, LINQ, DLR, IronRuby, Castle, Windsorm MTOM, Distributed Transactions, Design Patterns, CAB, UI Design] Read More...
  • New and Notable 173

    Slim pickings today. CLR/.NET Scott Hanselman provides advice on how to partition your app and figuring out the right number of assemblies/libraries WCF/BizTalk Services/WCF Dennis points out that he and John Shewchuk recorded a channel9 video that describes the why and what of BizTalk Services. Its now online here: http://channel9.msdn.com/showpost.aspx?postid=317646 Durable Instance Context sample (via Harry ) Windows Vista Running a dual-monitor setup with Windows Vista Resharper/Software Development Tools Took goodness Jeff Palermo found a hack to make Ctrl-N type discovery work properly (speed up!) in Resharper. Ctrl-N I am finding, is one of the keys to success with Resharper. Technorati Tags: CLR , Microsoft , Microsoft .NET , New and Notable , WCF , Windows Communication Foundation , BizTalk Services , Resharper , Windows Vista Read More...
  • New and Notable 157

    CLR/Tools An excellent post from Scott Hanselman on Managing Change with .NET Assembly Diff Tools . As I said , during the MVP Summit I spent time with Patrick Smachia and Scott Hanselman looking at the absolutely amazing new beta of NDepend . Microsoft/Ajax/Web 2.0 is Bull**** Ayende already took Paul Graham to task for all the flaws in Microsoft is Dead. I just really despise this notion of Ajax is the savior of mankind and that this Web 2.0 stuff is anything more than bull****. As Ayende says, " The premise that Ajax is the new OS is flawed on many levels. I am writing this on a computer with fast CPU and quite a bit of memory, and I would really like those CPU cycles to do stuff that I want, not interpreted javascript in a browser window to give me something that is similar to what I want. There is a limited class of applications where Ajax applications makes sense. Gmail has the luck to hit every point on the list. Other applications are simply not viable on the web. I can't imagine an IDE on the web offering even close to the bare-bones functionality of Visual Studio, for instance, or the ease and power of Outlook. " Agile/Extreme Programming/Continuous Design Jeremy and I were going to co-author a paper on Continuous Design and Architecture for DevTeach before I pulled out of the conference. He begins the discussion with an excellent post here . I may turn in my (former) presentation into an article on this blog I love a post that is entitled " Just Some Thoughts This Morning " that turns into pretty profound thoughts on Continuous Design from Jeremy. Best part, and what I would emphasize is, "Just really good code. If I could have anything, and only one thing, it would be well written, well factored, clean, intention revealing code . Everything else is just trying to sprinkle on some heavy spices to disguise the fact that your code smells like rotten meat." Software Architecture Nice set of 10 Links for 4/9/07 My favorite links to Prag Dave: The RADAR Architecture: Read More...
  • New and Notable 156

    A light day out there for the Holiday weekend. LINQ Bart has another series going with The IQueryable Tales - LINQ to LDAP. Part 1 is Key Concepts and Part 2 is Getting Started with IQueryable . CLR Jason continues Disassembling .NET with Appendix B, a walkthrough of storing byte arrays in the User Strings heap. IIS 7.0 ScottGu on the goodness of IIS 7.0. I am using IIS 7.0 in both Vista and Longhorn Server and I agree; it rocks! I'm rocking out to Girl With Hair Like An Explosion by The Flaming Lips from the album Bad Days (Maxi-Single With 3 Unreleased Tracks) Technorati Tags: .NET , LINQ , CLR , IIS , Vista Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • Revisting Rotor, CLR Internals

    I've been presuaded to bring out my Hardcore .NET (CLR Internals) out of retirement for DevTeach again this year. This post will be a record of trying to get an environment up and going..... Will it work on Vista? Does he still have his CLR chops? Stay tuned... Rotor You need to install ActivePerl 5.8.8 first Shared Source Common Language Infrastructure 2.0 Rotor V2 Download Tools ILDASM Reflector Reflector File Dissembler PE Browse Professional Dissembler PE Browse Professional Interactive Win32 Debugger/Dissembler ASMEX Free-Source .NET Assembly/PE File Analyzer CECIL library for IL gen/inspect ClassMaster Dis# .NET Decompiler Decompiler.NET F# Assembly Explorer I'm rocking out to Heartbreak Beat by The Psychedelic Furs from the album Beautiful Chaos: Greatest Hits Live Technorati Tags: .NET , CLR , Rotor , CLI , Shared Source CLI Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 154

    Sitting here on Saturday morning with a nice cup of Kona coffee. There just is no better coffee in the world. Strong but deceivingly smooth. I really miss our former annual trips to the Big Island that we used to take with my Father-In-Law and family before he got ill. We used to go up in the hills and buy direct from the growers. Umm, nothing better. The coffee may actually help me get over my funk morning as there is now a lot going on my personal life but you know you never get to blog what really matters Agile/Extreme Programming/Tools While Steve was off having a baby , I went back into the team pairing full time for this Iteration rather than doing do the advance work on Workflow and stuff. It felt really good and of course it was a challenge for me, as many of the particulars of the system have changed since I last paired and I had to actually relies on my pair more. What floored me, even though it shouldn't at this point, is just how good this team has gotten. Every single person on the team could explain any place in the code at any time and we were able to evolve the design and code together. It still blows me away the power of pair programming BTW, we are working on our THIRD release of our Collateral Management tools and architecture to at least two Top 50 Banks! Ayende has released Rhino Mocks 3.0 , the premier Mocking solution on .NET IMHO He was also on .NET Rocks talking about NHibernate and Rhino Mocks Since he still had time after the last two somehow, he also put out an hour long screen cast about Rhino Mocks Jeremy is Code Complete on Structure Map 2.0 Financial and Banking Mike Walker announces the OBA Reference Application Pack for Loan Origination Systems (OR-Loss ). This is a lot of great stuff here Mike is also doing a Financial Services Unwrapped IV Webcast Workflow Paul Andrews blogs about the 3rd performance paper released for WF Sylvain blogs that K2 BlackPearl Beta 1 TR2 is available. BlackPearl is the version of K2.NET built on WF CLR/C# Read More...
  • New and Notable 152

    Smart Clients/Orcas I am extremely pleased to see the .NET Framework (and Microsoft) finally gain the offline sync services that I have been talking about for quite a few years in my work at Groove and Adesso . You will be able to do synchronization from WinForms and WPF apps that you could do from Groove apps (in my case WinForms) 4 years ago and Adesso 2-3 years ago now. OR/M Excellent introduction to NHibernate here more in a little bit Currently listening to Tarkus by Emerson, Lake & Palmer on album Tarkus Technorati Tags: .NET , Orcas , Data , OR/M , NHibernate , Software Architecture , , TDD , Agile , Agile Development , Extreme Programming , CLR , .NET Framework , Click Once , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • New and Notable 151

    Thank God, its Friday. Even after a full 32 ounces of strong Starbucks coffee, I still fell asleep on the train on the way in. Entity Framework/OR/M/LINQ The excellent Entity Framework discussions continue with Scott Bellware's fine Entity Framework Challenges Architecture One of my core principles of Agile Architecture that I will talk about in Monteal next month is that of Lighweight Modeling. Core to that, is what Scott Bellware said, That's "Model-Driven", not "Diagram Driven ." Like Scott says, I also put my model into the domain and evolving that model. I too don't find much use for diagrams, particuarly the waste of time Whitehorse ones or worse yet the Rational Rose ones. But, as Jeremy noted from his discussion with me , I *do* find the use of a very small subset of UML used rather precisely in drawing quick, non-durable model diagrams on the board. In fact, Jim Shore and I taught our team to do it in any part of the code base at any time. Harry channeling Nick , "Nick Malik on enterprise architecture : "Enterprise Architecture is not about 'building solutions right'. Enterprise Architecture is about 'building the right solutions'. Agile/Good Software Design Jeremy on the DRY principle and the Wormhole Anti-Pattern He also points to the great piece Top ten things ten years of professional software development has taught me . Agreed with all of it Jonathan has a niece piece that I vigorously nodded my head in agreement with, Pair Programming improves your Communication Skills .NET/CLR Scott Hanselman - A Better Way for Click Once and Firefox . Yes!! Misc I was ROTFL when I read Lazycoder's rant , "Save me from having to type more angle brackets. Please. I’m tired of $#@$@ angle brackets. My “,” and “.” keys are worn to a nub. My shift key is floppy and has no spring left.No more angle-bracket based UI. EVER." Technorati Tags: .NET , Orcas , Entity Framework , Read More...
  • Refurbished New Home Site

    I have been working with the Office Live Services Beta for some months now. They just went live with my site over the weekend (although I still have to work on the domain name transfer) and it looks pretty good! I have a new Header and Home Page design. I have added my How-To STS/Window Authentication with ADAM/AD, Roles in AzMan with WCF to the refurbished WCF page . I added a new Domain Driven Design page under Software Engineering . My Presentations, as always are here . Hey, what else am I going to do while I am waiting for my flight? I would like and appreciate any and all feedback as comments here. What's good? What's bad? Knowing my blog and its subjects, what would you like to see? Technorati Tags: .NET , Windows Communication Foundation , WCF , Software Architecture , INETA , MVP , .NET Framework 3 , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • All I Can Say is a Big Amen!

    This says it all. Technorati Tags: .NET , Agile , Agile Development , Extreme Programming , ORM , Data , Entity Framework , ADO.NET 3.0 , Orcas , MVP , Visual Studio , VSTS , Team System , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
  • Windows Workflow 103 or WF Part 3 - Introduction to Workflow

    In the last two posts 101 and 102 , I went pretty deep in some areas. I want to step back and do some more tutorial stuff. So the first question out of the gate is what is Workflow itself and where might you use it? In a nutshell, a Workflow describes and automates a Business Process. It can be described as a "reactive" program which tends to contain some traits: Workflow declared as a set of Activities Coordinates people and software Has real-world control flow Runs reliably and durably Tolerates dynamic change A Workflow is typically designed by a Process Designer using Business Process Analysis, Modeling, and Definition tools. That Process Definition is fed into a Workflow Management System. The WMS will have Users, Applications and Administrators/Supervisors. The WMS will present that Process Definition visually in some form and launch applications. From looking at workflows, we see that some challenges are present. Unlike non-reactive programs, workflows tend to be long-running and stateful. It may take 20 days for an order to be shipped for instance. There usually needs to be some controls to allow a person to override or skip a step in the workflow. Finally, we must be able to see into the workflow and see what state its in and visualizing control flow. Workflow is used in many scenarios like: Business Process Management (BPM) Document Lifecycle Management (Sharepoint, K2) BizTalk Orchestration Sales Management Line of Business Apps Many others... Enter Windows Workflow (WF). Unlike K2 and Sharepoint, WF is not a Workflow Management system or product. It is instead, a general purpose framework for building workflow into your own applications. It ships as part of the .NET Framework 3.0, and ships with both Vista and Longhorn Server. It is installable on Windows XP SP2 and Win2K3. Since WF is baked into Vista and later systems, and is a general framework, it is a single workflow execution engine for all Windows platforms. Indeed, products like K2, Sharepoint, Read More...
  • New and Notable 148

    Still real tired from my Oklahoma trip , partying with Raymond sure is exhausting-). Agile/Development Tools On my short list for some time now, is to switch from NUnit to the definitely superior MbUnit. My friend Andrew has done some great work with this tool and he has a new release out with the beta 1 release of MbUnit 2.4. New features in this drop. I really need to switch and get my team to switch over. It's just been an inertia thing with NUNit as I knew all along MbUnit was better Testing private methods for .NET 2.0 rom Ben Hall. Database rollback support for .NET 2.0 from Cathal Connolly and Todd Menier. NUnit style explicit support from Graham Hey. Speaking of NUnit, they also have a new release, NUnit 2.4 Release Candidate (2.4.0). The Release Notes are here and include some nice features: A new syntax and internal architecture for Asserts is being introduced in this release, based on the notion of constraints found in JMock and NMock. The Assert.That method is used to make an assertion based on a constraint Assert.That( actual, constraint, message, args ); Assert.That( actual, constraint, message ); Assert.That( actual, constraint ); The constraint argument may be specified directly using one of the built-in constraint classes or a user-defined class. It may also be specified using one of the syntax helpers provided as static methods of the Is class, such as Is.Null Is.Empty Is.EqualTo( object ) Is.CollectionContaining( object ) Is.SubsetOf( collection ) SCSF is one of the most visible Microsoft projects being done in an Agile way. They are crazy as us doing one week Iterations. Blaine has some reflections on Iteration 3 . CB brother, Jeremy asks what OSS tools are you using in development? As I answered there, they include: NUnit CruiseControl.Net FitNesseDotNet RhinoMocks Subversion TortoiseSVN Ankh Wiki Speaking of tools. my good buddy Tomas (see you next week!) has a nice list of Text Editors One of the things Raymond and I discussed in Oklahoma was Read More...
More Posts Next page »

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us