[PMC was copied to pay attention to what is under CLI umbrella and what is not]
Castle is under development and will be a CLI implementation of a Container inspired by Merlin. Although the existing container is enough, the Castle purposes are more ambitious. It's hardly concerned about one thing I'm mostly concerned: the user shall dictate what features he wants or not. So a "La carte" container is necessary. What technology would best fits this purpose? JMX ! - in Java, but nothing like this exists in the CLI world... until now. The Castle Management Extension is a kind of JMX api and simple implementation delivery as the base of all the Castle Container. Please check the test cases for a insight of what it does. == Mono == The build scripts were based on log4net scripts - that compiles in a lot of CLI implementations. We now are positive this is CLI compliant. Please refer to http://cvs.apache.org/viewcvs.cgi/avalon-sandbox/avalon-net/Castle/README.txt?rev=1.1&view=auto == Invoker Strategies == Any JMX implementation must allow one to be able to invoke operations on local/remote components. Reflection is the normal answer for such requirements. This is implemented by Castle\CastleManagementExtensions\Default\Strategy\ReflectionInvokerStrategy .cs [1] But we all know Reflection's performance is not good. So a code generation strategy was already provided in Castle\CastleManagementExtensions\Default\Strategy\CodeGenerationInvokerStra tegy.cs [2] The only issue here is that this Class uses the C# Compiler, and this is available in the class Microsoft.CSharp.CSharpCodeProvider I'm positive that Mono exposes a bind for this package to guarantee interoperability so we're sure this will work on both plataforms. Anyway we have this use of a class that is not under the CLI specification. Another option is to use Reflection.Emit to generate an assembly on-the-fly. This can be done by emitting IL code by hand. Its not that hard, but you must know that IL is just a better ASM. == Management Interface == This is a delicate subject. Can we provide a Web front end? Sure. But in ASP.Net... So forget it. And about a desktop management front end? No problem, Winforms. Uhhh! I'd rather do not implement a management interface and wait for people outside ASF to build one (if someone needs). == Castle Container == I'm working on it. May have some code until next week. So we would have two container to chose and release in the future one of them. Regards, hammett 1 http://cvs.apache.org/viewcvs.cgi/avalon-sandbox/avalon-net/Castle/CastleManagementExtensions/Default/Strategy/ReflectionInvokerStrategy.cs?rev=1.1&view=auto 2 http://cvs.apache.org/viewcvs.cgi/avalon-sandbox/avalon-net/Castle/CastleManagementExtensions/Default/Strategy/CodeGenerationInvokerStrategy.cs?rev=1.2&view=auto --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
