Asynchronous Remoting Server

by admin 28. September 2005 11:51

If you've ever written a .NET remoting channel you'd have come across the ServerProcessing.Async value. This value should indicate that a server object is handling a message asynchronously. There's then a some additional infrastructure for handling the real message reply later when it becomes available (through the use of IServerChannelSinkStack).

Up until now this value has been largely unused. In standard remoting it is never returned (it is possibly used in CrossAppDomain calls). I say up until now because I have now successfully made use of it!

For my PhD I needed to provide a method for application programmers to create asynchronous implementation of methods. I've based this off the undocumented ASP.NET web service async implementation model which is something like this:

int Foo(string value)

becomes
IAsyncResult BeginFoo(string value);
int EndFoo(IAsyncResult ar);

As you can see the implementation of Foo will be split across two methods - BeginFoo and EndFoo. When BeginFoo returns it supplies an IAsyncResult which will be triggered by some third party (perhaps another method call to the same object, or the result of an IO becoming available). The framework is then responsible for calling EndFoo. Clients should be hidden from the details - in fact they simply call Foo - the BeginFoo/EndFoo stuff all happens on the server side.

Currently there's no nice way of providing the Foo signature to clients so a dummy Foo implementation must be required (something like just throwing NotImplementedException is fine since it's never called). ASP.NET gets around this by generating appropriate WSDL when it finds two methods that match this BeginFoo/EndFoo pattern.

Of course, even though I got to make use of the Async return value I found that some of the supporting clases required a bit of massaging to get working properly. This doesn't surprise me since I don't think this is ever used in standard remoting...

IE Developer Toolbar

by admin 17. September 2005 04:33

I haven't had a chance to have a good play with it yet, but there's a developer toolbar for IE now - http://blogs.msdn.com/ie/archive/2005/09/16/469686.aspx

Most exciting thing to me seems to be the option to inspect the page's DOM.

Need a Wiki - Goomburra is available

by admin 7. September 2005 12:38

That's right - RikWik: Goomburra is finally available.

Goomburra is a Wiki engine written entirely in ASP.NET. It has a number of features that set it apart from existing Wiki solutions, particularly in how extensible it is. It's also open source under a BSD license so go grab it and give it a go.

I've opened up this page so you can give Goomburra a go online. You have full permissions to edit the page, change the skin and generally try things out.

All the details are on the RikWik page including the (abbreviated) feature list.

Comments Activated

by admin 5. September 2005 19:20

In case you haven't noticed, comments on this blog have been disabled since shortly after the upgrade. They're now running again, and now you can comment in wiki format!

This means you can try out things like **bold** for bold, //italic// for italic plus lots of other things.

The release of RikWik:Goomburra is edging ever closer, plus when I do I'll be opening a sandbox so you can try some stuff out without downloading and installing yourself.

About Us

RikWare is a software development company based in Brisbane, Australia. Led by director, Richard Mason, RikWare focusses on solving challenging business problems promptly and effectively.

RikWare is also the owner of Aussie Bushwalking, a free, wiki-like collaboration site for bushwalkers and the creator of RikMigrations, a migration framework for .NET.

Aussie Bushwalking

Want to discover some new bushwalking ideas? Share a few of your own? Aussie Bushwalking is like Wikipedia... but for bushwalkers. Head on over. Anybody can see the walks and it's free to sign up and share your own.

 

RikMigrations

RikMigrations is a database migration library for .NET based on the migrations facility provided by Ruby on Rails. It allows simple upgrading and downgrading of databases using .NET code (such as VB or C#) either from the command line or built into your application. Unlike many other migration frameworks, RikMigrations is a stand-alone library which does not rely on a large surrounding framework.