Author: hammett
Date: Sat Jun 26 08:27:12 2004
New Revision: 22135
Added:
avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions/Apache.Avalon.Castle.sln
avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest/Apache.Avalon.Castle.ManagementExtensions.Test.csproj
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/index.xml (contents, props changed)
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/navigation.xml (contents, props changed)
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/index.xml (contents, props changed)
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/navigation.xml (contents, props changed)
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/index.xml (contents, props changed)
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/navigation.xml (contents, props changed)
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/navigation.xml (contents, props changed)
Modified:
avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs
avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml
avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml
Log:
Few corrections + initial site development.
Added: avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions/Apache.Avalon.Castle.sln
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions/Apache.Avalon.Castle.sln Sat Jun 26 08:27:12 2004
@@ -0,0 +1,29 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Avalon.Castle.ManagementExtensions", "Apache.Avalon.Castle.ManagementExtensions.csproj", "{1FBC7823-D95B-481C-9715-14EE2CEDD13A}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Avalon.Castle.ManagementExtensions.Test", "..\CastleManagementExtensionsTest\Apache.Avalon.Castle.ManagementExtensions.Test.csproj", "{69375E7E-BDC1-488A-BA0C-12D9EED2D159}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Debug.ActiveCfg = Debug|.NET
+ {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Debug.Build.0 = Debug|.NET
+ {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Release.ActiveCfg = Release|.NET
+ {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Release.Build.0 = Release|.NET
+ {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Debug.ActiveCfg = Debug|.NET
+ {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Debug.Build.0 = Debug|.NET
+ {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Release.ActiveCfg = Release|.NET
+ {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Release.Build.0 = Release|.NET
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Added: avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest/Apache.Avalon.Castle.ManagementExtensions.Test.csproj
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest/Apache.Avalon.Castle.ManagementExtensions.Test.csproj Sat Jun 26 08:27:12 2004
@@ -0,0 +1,180 @@
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.10.3077"
+ SchemaVersion = "2.0"
+ ProjectGuid = "{69375E7E-BDC1-488A-BA0C-12D9EED2D159}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = ""
+ AssemblyKeyContainerName = ""
+ AssemblyName = "Apache.Avalon.Castle.ManagementExtensions.Test"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "Library"
+ PreBuildEvent = ""
+ PostBuildEvent = ""
+ RootNamespace = "Apache.Avalon.Castle.ManagementExtensions.Test"
+ RunPostBuildEvent = "OnBuildSuccess"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "false"
+ OutputPath = "..\bin\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+ />
+ <Reference
+ Name = "Apache.Avalon.Castle.ManagementExtensions"
+ Project = "{1FBC7823-D95B-481C-9715-14EE2CEDD13A}"
+ Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+ />
+ <Reference
+ Name = "nunit.framework"
+ AssemblyName = "nunit.framework"
+ HintPath = "..\..\..\..\..\..\..\..\..\dotnet\NUnit2\bin\nunit.framework.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "AssemblyInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "CodeGenerationInvokerStrategyTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "DomainTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "InterfacedComponentTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "ManagedInstanceTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "ManagedObjectNameTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "MDefaultRegistryTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "MDefaultServerTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "MServerFactoryTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "ReflectionStrategyTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "RemoteTestCase.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Components\DummyHttpServer.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Components\DummyLifecycledService.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Components\DummyService.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Components\DummySmtpServer.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Components\ISomeService.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Modified: avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs
==============================================================================
--- avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs (original)
+++ avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs Sat Jun 26 08:27:12 2004
@@ -17,7 +17,8 @@
using System;
/// <summary>
- /// Summary description for StandardInvocationHandler.
+ /// Provides a standard implementation of <see cref="IInvocationHandler"/>.
+ /// Methods PreInvoke, PostInvoke can be overrided to customize its behavior.
/// </summary>
public class StandardInvocationHandler : IInvocationHandler
{
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/index.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/index.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<document>
+ <properties>
+ <author email="[email protected]">Avalon Team</author>
+ <title>Avalon Castle - DynamicProxy</title>
+ </properties>
+
+ <body>
+
+ <section name="The project">
+ <p>
+ The DynamicProxy project was created to overcome the CLR's proxy (in)capabilities.
+ There are proxies in the CLR world, but they can be considered a bit
+ intrusive as it forces one to extend MarshalByRefObject or ContextBoundObject.
+ </p>
+ <p>
+ You can use DynamicProxy to generate proxies on the fly for one or more interfaces
+ (supporting concrete classes is on the plans as well)
+ </p>
+ </section>
+
+ <section name="Source code">
+ <p>
+ The lastest version of source can be obtained from
+ <a href="https://svn.apache.org/repos/asf/avalon/trunk/central/laboratory/avalon-net/DynamicProxy">Avalon Subversion repository</a>.
+ </p>
+ </section>
+
+ <section name="Usage">
+ <p>
+ The DynamicProxy relies on Reflection.Emit to generate new classes that implements
+ the specified interfaces and delegates to your implementation of IInvocationHandler.
+ The usage is very simple. You only need to invoke ProxyGenerator.CreateProxy
+ specifying the interfaces that will be behind the proxy and your implementation of
+ IInvocationHandler:
+ </p>
+<source>
+using Apache.Avalon.DynamicProxy;
+
+public interface IMyInterface
+{
+ String Name
+ {
+ get;
+ set;
+ }
+
+ void DoSomething(int x, int y);
+}
+
+public class YourProxyInvocationHandler : IInvocationHandler
+{
+ public object Invoke(object proxy, MethodInfo method, params object[] arguments)
+ {
+ // do something before
+
+ object returnVal = method.Invoke( realInstance, arguments );
+
+ // do something after...
+
+ return returnVal;
+ }
+}
+
+object proxy = ProxyGenerator.CreateProxy(
+ typeof(IMyInterface),
+ new YourProxyInvocationHandler( new MyInterfaceImpl() ) );
+
+// proxy can be safely casted to IMyInterface
+
+IMyInterface inter = proxy as IMyInterface;
+
+</source>
+ <p>
+ You can also overrides the implementation of StandardInvocationHandler.
+ </p>
+<source>
+public class YourProxyInvocationHandler : StandardInvocationHandler
+{
+ protected override void PreInvoke(object proxy,
+ MethodInfo method, params object[] arguments)
+ {
+ }
+
+ protected override void PostInvoke(object proxy,
+ MethodInfo method, ref object returnValue, params object[] arguments)
+ {
+ }
+}
+</source>
+
+ <subsection name="Useful links">
+ <p>
+ If you'd like to learn more about proxies in .Net and other similar solutions
+ to generate proxies on the fly, please follow these links:
+ </p>
+ <ul>
+ <li>
+ <a href="http://opensource.atlassian.com/confluence/spring/display/NET/Dynamic+Proxy?showComments=true">Dynamic Proxies in .NET</a>:
+ Discussions and explanation about the possibilities of proxies.
+ </li>
+ <li>
+ <a href="http://jroller.com/comments/hammett?anchor=java_like_proxies_in_net">Java like proxies in .Net</a>:
+ Explanation of the problems which leaded to development of Avalon DynamicProxy.
+ </li>
+ </ul>
+ </subsection>
+
+ <subsection name="Thanks to">
+ <ul>
+ <li>
+ Stefan Zobel - for his suggestion of using ldtoken
+ </li>
+ <li>
+ <a href="http://www.springframework.net/">SpringFramework.Net</a>
+ guys - for their interest and willingness to help
+ </li>
+ <li>
+ <a href="http://aspectsharp.sourceforge.net/">AspectSharp project</a>
+ - for sticking with it
+ </li>
+ </ul>
+ </subsection>
+
+ </section>
+
+ </body>
+</document>
\ No newline at end of file
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/navigation.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/navigation.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project>
+
+ <title>Avalon Castle Container</title>
+
+ <body>
+ <menu>
+ </menu>
+ </body>
+
+</project>
Modified: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml
==============================================================================
--- avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml (original)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml Sat Jun 26 08:27:12 2004
@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<document>
<properties>
<author email="[email protected]">Avalon Team</author>
@@ -28,9 +46,9 @@
<section name="DynamicProxy">
<p>
- To overcome some limitations of CLR we had to develop some other tools used
- by Avalon Castle. DynamicProxy is a simple implementation that immitates the
- Java proxies through Invocation handlers.
+ To overcome some limitations of CLR we had to develop common tools used
+ by Avalon Castle. DynamicProxy is a simple implementation that act as the
+ Java proxies - through Invocation handlers.
</p>
</section>
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/index.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/index.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<document>
+ <properties>
+ <author email="[email protected]">Avalon Team</author>
+ <title>Avalon Castle - Managed Extensions</title>
+ </properties>
+
+ <body>
+
+ <section name="The project">
+ <p>
+ ManagedExtensions is an attempt to give application's management capabilities.
+ Its relation to Castle Container is yet to be developed.
+ </p>
+ <p>
+
+ </p>
+ </section>
+
+ <section name="Source code">
+ <p>
+ The lastest version of source can be obtained from
+ <a href="https://svn.apache.org/repos/asf/avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions">Avalon Subversion repository</a>
+ (Test cases can be found <a href="https://svn.apache.org/repos/asf/avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest">here</a>).
+ </p>
+ </section>
+
+ <section name="Usage">
+ <p>
+
+ </p>
+<source>
+using Apache.Avalon.Castle.ManagementExtensions;
+
+<b>[ManagedComponent]</b>
+public class DummyHttpServer
+{
+ protected bool started = false;
+
+ public DummyHttpServer()
+ {
+ }
+
+ [ManagedAttribute]
+ public bool Started
+ {
+ get
+ {
+ return started;
+ }
+ set
+ {
+ started = value;
+ }
+ }
+
+ [ManagedOperation]
+ public void Start()
+ {
+ Started = true;
+ }
+
+ [ManagedOperation]
+ public void StartAt(int time)
+ {
+ }
+
+ [ManagedOperation]
+ public void Stop()
+ {
+ Started = false;
+ }
+}
+
+
+</source>
+ <p>
+ Lifecycle:
+ </p>
+<source>
+[ManagedComponent]
+public class DummyLifecycledService : MRegistrationListener
+{
+ public DummyLifecycledService()
+ {
+ }
+
+ [ManagedOperation]
+ public void Start()
+ {
+ }
+
+ [ManagedOperation]
+ public void Stop()
+ {
+ }
+
+ public void BeforeRegister(MServer server, ManagedObjectName name)
+ {
+ }
+
+ public void AfterDeregister()
+ {
+ }
+
+ public void AfterRegister()
+ {
+ }
+
+ public void BeforeDeregister()
+ {
+ }
+}
+</source>
+
+ <subsection name="Useful links">
+ <p>
+ If you'd like to learn more about Managed Extensions, please refer to:
+ </p>
+ <ul>
+ <li>
+ <a href="http://jroller.com/comments/hammett?anchor=management_extensions_for_net">
+ Management Extensions for .Net</a>:
+ Full explanation of what driven the development of Castle Managed Extensions.
+ </li>
+ </ul>
+ </subsection>
+
+ </section>
+
+ </body>
+</document>
\ No newline at end of file
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/navigation.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/navigation.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project>
+
+ <title>Avalon Castle Container</title>
+
+ <body>
+ <menu>
+ </menu>
+ </body>
+
+</project>
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/index.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/index.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<document>
+ <properties>
+ <author email="[email protected]">Avalon Team</author>
+ <title>Avalon Castle - DynamicProxy</title>
+ </properties>
+
+ <body>
+
+ <section name="A container for CLI">
+ <p>Avalon Castle is a lightweight
+ container for the CLI (.Net and Mono) world. Although it can be viewed as
+ a port of Avalon, it benefits from several features offered by the
+ CLR.</p>
+
+ <p>Other important difference of Castle container is its simplicity.
+ Based on Microkernel pattern, the user can easily modify, extend or
+ adapt it to match his requirements. No hard contracts, no obligations.
+ Just good and old Inversion of Control and stills Avalon.</p>
+ </section>
+
+ <section name="More references">
+ <p>
+ There are plenty of documents, articles and blog entries about .Net and proxies,
+ its benefits, its cons and its differences when compared to java implementation.
+ </p>
+ <subsection name="Useful links">
+ <ul>
+ <li>
+ <a href="../../cop/index.html">Developing With Avalon</a>:
+ An excellent white paper on the Avalon framework.
+ Recommended reading!
+ </li>
+ <li>
+ <a href="../../cop/index.html">An Introduction to COP</a>:
+ An introduction to Component Oriented Programming and the
+ core Avalon Framework.
+ </li>
+ </ul>
+ </subsection>
+ </section>
+
+ </body>
+</document>
\ No newline at end of file
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/navigation.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/navigation.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project>
+
+ <title>Avalon Castle Container</title>
+
+ <body>
+ <menu>
+ </menu>
+ </body>
+
+</project>
Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/navigation.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/navigation.xml Sat Jun 26 08:27:12 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project>
+
+ <title>Avalon Castle Container</title>
+
+ <body>
+ <menu>
+ <item name="Microkernel" href="microkernel/index.html"/>
+ <item name="Managed Extensions" href="managedextensions/index.html"/>
+ <item name="DynamicProxy" href="dynamicproxy/index.html"/>
+ </menu>
+ </body>
+
+</project>
Modified: avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml
==============================================================================
--- avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml (original)
+++ avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml Sat Jun 26 08:27:12 2004
@@ -1,31 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Copyright 2004 Apache Software Foundation
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied.
-
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<project>
-
- <title>Apache Avalon Central</title>
-
- <body>
- <menu>
- <item name="Studio" href="studio/index.html"/>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Apache Software Foundation
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project>
+
+ <title>Apache Avalon Central</title>
+
+ <body>
+ <menu>
+ <item name="Studio" href="studio/index.html"/>
+ <item name="Castle Container" href="castle/index.html"/>
<item name="Discovery" href="discovery/index.html"/>
- </menu>
- </body>
-
-</project>
+ </menu>
+ </body>
+
+</project>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.