in

ASP.NET Weblogs

Russell Pooley's .NET Blog

.NET Tools, Source and Research
  • Get Free Typemock licenses – ASP.NET bundle launch

    Unit Testing ASP.NET? ASP.NET unit testing has never been this easy.

    Typemock is launching a new product for ASP.NET developers – the ASP.NET Bundle - and for the launch will be giving out FREE licenses to bloggers and their readers.

    The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both
    Typemock Isolator, a unit test tool and Ivonna, the Isolator add-on for ASP.NET unit testing, for a bargain price.

    Typemock Isolator is a leading .NET unit testing tool (C# and VB.NET) for many ‘hard to test’ technologies such as SharePoint, ASP.NET, MVC, WCF, WPF, Silverlight and more. Note that for unit testing Silverlight there is an open source Isolator add-on called SilverUnit.

    The first 60 bloggers who will blog this text in their blog and tell us about it, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET dedicated blog, you'll get a license automatically (even if more than 60 submit) during the first week of this announcement.

    Also 8 bloggers will get an additional 2 licenses (each) to give away to their readers / friends.

    Go ahead, click the following link for more information on how to get your free license.

     

  • Oomix Technical Preview

    As the chief developer of the mixer for the Oomix site I feel I need to tell the world.

    For anyone interested the mixer is written in C# and I plan to support third party plugins in the future but I don't want to run before I can walk. (Coming next is a shameless plug.)

    At last! The doors of a new music revolution are open! Come on in, don't be shy!


    We're only 2,499 other musicians to join us for our pre-launch and to help shape the future of the music industry! Our full launch is due for November this year. Leading up to this time we'll be asking for your opinions and ideas and we'll be getting feedback from other professional musicians, ensuring we can tailor the Oomix site to its maximum potential.

    To recap, Oomix allows you to:

    MEET OTHER MUSICIANS!
    1. Find musicians, message them and add them to your friends or favourites.
    2. Discuss all aspects of music and the music industry.
    3. Listen to other musicians' music.
    4. Tailor your micro-site and encourage others to make contact with you.

    MAKE MONEY THROUGH YOUR MUSIC!
    1. Upload your songs to sell on the site.
    2. Upload tracks (single audio components) and allow others to make music with them. You'll all get paid an agreed amount each time the songs are sold.
    3. Make music with other musician's tracks and publish them to the shop (they will have to agree first.)
    4. Promote yourself and your music through our promotion tools.

    MAKE MUSIC!
    1. Use the free Mixer to make music.
    2. Participate in 'Music Making Battles' for your chance to win prizes.
    3. Contribute to 'Roundabout Songs' made by other musicians on the Oomix site.
    4. Vote on songs and leave comments.


    So join now: www.oomix.com/join.php


    You can find out more about Oomix by viewing the Oovid here: www.oomix.com/studio.php?display=video


    Be part of a new music revolution
    www.oomix.com

  • Oomix - The Music Revolution

    It's been ages since I posted about the development of our collaborative music creation and sales website / application but we're now on the run-up to launch. The site's got numerous ways for developers of all sorts to connect in to it so I'd like to open up a forum to see if anyone has any ideas or would like to build a plugin.

    You may ask why what this has to do with weblogs.asp.net and .NET, well the main component to the site is a free Mixer application for the collaboration, this has been produced in .NET 2.0 and I must say I am quite proud of the result. Once we have ironed out the final bugs and features I will post another link if you are interested. I'm quite excited about future extensions to the mixer and I will be thinking about ways to enable third party development.

    Here's a video for you to watch about it in the meantime.

  • 2.0 Web Service Problem with 1.1 Assembly Redirections (I challenge you)

    This is a problem I have been trying to resolve for over three weeks now with no success. I shall try to explain the problem as clearly as I can as it can get very confusing.

    I have a Visual Studio 2005 .NET 2.0 Web Service Project which has a single web service class called HelloService. This service has the following content:

            private Service.Service service = new Service.Service();

            
    [WebMethod]
            
    public string HelloWorld()
            {
                
    return this.service.GetMessage();
            
    }

     As you can probably see there is a Service declared at the top - this is a Visual Studio .NET 2005 Class Library with a single class called Service that has the following content:

            Engine.Engine engine = new Engine.Engine();

            public string 
    GetMessage()
            {
                
    return this.engine.GetMessage();
            
    }

    We now have an Engine class, this is a Visual Studio .NET 2003 Class Library with a single method with the following signature:

            public string GetMessage()
            {
                
    return "Hello, world!";
            
    }

    As you can see we have a very simple hierarchy: the web service calls GetMessage() on Service that then calls GetMessage() on Engine which return the string "Hello, world!"

    This is where it gets complicated, all the projects are compiled with strong names, and are deployed. The project Web Service and Service are compiled as version 1.0.0.0, the Engine is compiled as 1.0.1.0.

    If we invoke the web service and invoke the HelloWorld method we indeed get the correct response, "Hello, world!".
    If I change the Engine version to 1.0.2.0 and recompile (making sure I do not recompile the Web Service or Service project) placing the output into the Web Service bin directory I then get a TypeLoadException, this is off course what I would expect. The Service class is being invoked and is trying to load the 1.0.1.0 assembly and since they are all strongly named it will not load the new version as they differ.

    I put assembly redirections into the web.config redirecting the Engine.dll so that if 1.0.1.0 is requested to use the 1.0.2.0 version instead as below:

        <runtime>
            
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
                
    <dependentAssembly>
                    
    <assemblyIdentity name="Engine" publicKeyToken="91e1bed8f28f6600">
                        
    <bindingRedirect oldVersion="1.0.1.0" newVersion="1.0.2.0" />
                    </
    assemblyIdentity>
                
    </dependentAssembly>
            
    </assemblyBinding>
        
    </runtime>

    On invoking the Web Service HelloWorld method again I expect to see my message, but I do not, instead I receive the dreaded TypeLoadException again.

    So my challenge to you all is I must have this working and cannot for the life of me figure out how to make it work. Changing Machine.config had limited success, after restarting IIS the previous behaviour started to show. I know that this maybe a problem with the framework but I need to figure out a workaround.

    If anyone is interested in trying to figure this one out then the source for the projects can be found here. 

     

  • The server failed to load application '/LM/W3SVC'. The error was 'The specified metadata was not found.'.

    I have spent probably 4 hours of my life trying to figure out why I keep getting a bizarre error message when I try to browse to a .NET 2.0 Framework Web Service, so after figuring it out I thought I would post this so I never forget it. The solution to the problem was so simple but it took a long time to find it. So what happened:

    1. Browse to web service, get the following message: Server Application Error
    2. Looked in the event log, which had the following message:

    The server failed to load application '/LM/W3SVC'.  The error was 'The specified metadata was not found.'.

    3. Searched for that problem and found this: http://www.iis-resources.com/modules/newbb/viewtopic.php?topic_id=2579&forum=4
    Now in this post they were talking about the MSDTC so I cheked that service and found that it wasn't started, so I try to start it, this fails to start with error message:

    The Distributed Transaction Coordinator service terminated with service-specific error 3221229584 (0xC0001010).

    4. Searched for that problem and found this: http://blog.taragana.com/index.php/archive/solution-microsoft-distributed-transaction-coordinator-fails-to-start-with-service-specific-error-3221229584/
    Now this post says run msdtc -resetlog

    5. Problem solved. Hopefully other people will find this helps them, it sure helped me.

  • What is oomix.com

    I have been working on a project for over 6 months and we are about to release it to the world, you may ask what has this got to do with weblogs.asp.net and .NET well read the introduction below and it will all make sense.

    Oomix is a combination of:

    25% social networking,
    25% online music studio,
    25% online record label,
    25% distribution channel

    In short a website where musicians can get together, engage in dialogue and manage their micro-site but also make music together and publish the resultant composition to the store.

    Building on mashup culture and Web 2.0 I believe that the result is a new model for the music industry and will be a definitive site for both professional and amateur musicians alike to 'mingle' and create new music.

    My personal involvement with this project has been to produce the back end services for producing final compositions and mixing the tracks. This is where the .NET comes in, the entire back end is written in .NET and I'm looking at opening it up in the future to allow custom plug ins and new features from developers. 

    Now if any of you are keen musicians or developers keen to tinker with a site that creates music then drop me an email or a comment and I'll see what I can do. I'm looking at implementing a managed sound effects library so any comments on that would be excellent.

    At the moment I'm fighting with time stretching WAV samples. Ahhhh

    www.oomix.com

  • New horizons with Web Methods Ltd

    Previously in the past I have found myself constrained to keeping certain posts to myself due to company policies and so forth. But now is very different, I have just started my own limited company providing development and consultancy services.

    So I hope to post more in the future and if anyone is ever in need of help then post a comment and I hope to get back to you, if on the other hand you are looking for an experienced .NET developer then don't hesitate to contact me.

    Thanks
    Russell

  • DebuggerDisplay attribute. (To remind me)

    Having just read Kenny Kerr's blog on the Attributes Do Nothing post (http://weblogs.asp.net/kennykerr/archive/2006/06/02/Attributes-That-Do-Nothing.aspx) I have decided to partially repost the bit about the DebuggerDisplay attribute so I don't forget it.

    Here we go:

    [DebuggerDisplay("{Statement} Sarcasm: {Sarcasm}")]
    class Quote
    {
        public string Statement;
        public SarcasmLevel Sarcasm;
    }

    Will allow the watch window to show the properties you put in the attribute. Sweet!

  • Trying to debug Outlook 2003 addin, always getting 'cannot attach to process' error

    After trying to debug an addin for Outlook 2003 with no joy I turned to google for support, this on previous attempts had not come up with any good solutions but I managed to find the following post: http://www.analogousmember.com/archives/000394.html that resolves the solution.

    It appears that outlook will try to load up the 2.0 framework when debugging thus would not allow .NET 2003 to debug it. The solution is to create an Outlook.exe.config and force it to use a 1.0 or 1.1 framework and then everything is fine, now I can get on with the job in hand.

    <configuration>
       <startup>
          <supportedRuntime version="v1.1.4322"/>
          <supportedRuntime version="v1.0.3705"/>
       </startup>
    </configuration>

  • MBR BootFX

    Since starting my new job at MBRIT Ltd (www.mbrit.com) I have been extensively working on BootFX our open source framework for .NET development.

    The basis of the framework, like most frameworks, is to offer database connectivity. Virtually every business application needs to talk to a database, and virtually every time on Windows it’s SQL Server, Oracle or MySQL. Therefore most of the LOCs in BootFX are data access code. My preferred data access method has always been Object Relational Mapping, specifically with a data-first approach of mapping tables to objects, and so that’s the environment where BootFX runs best. BootFX also includes a tool for connecting to the database and generating code for you.

    In addition, BootFX also includes some UI components and management functionality, such as logging and exception reporting and handling. All good stuff.

    To those who may have already used it I have made some big changes to DBUtil, which is now a lot more polished. We've also been working on some AJAX/Web service stuff which is almost ready. There's some goo in the codebase to do some of it.

    I'm keen to start pushing this a bit more in the community because I feel with this build it's a bit more "prime time", so if anyone is interested in helping me get a bit of a buzz around it please do let me know.

    You can download the latest version from sourceforge at the following address: http://sourceforge.net/projects/bootfx/

More Posts Next page »