【问题标题】:How to get started with Castle-Windsor?如何开始使用温莎城堡?
【发布时间】:2013-02-02 16:51:45
【问题描述】:

我对 IoC/windsor 完全陌生。我从谷歌开始学习它,但不幸的是,我没有合适的文档来让我更容易理解。所以我带着这样的标题/问题来到这里。

每个文档/页面(网络),开始类似这样的东西

“我们应该从注册类/接口开始,然后解决它 ……”

但没有一个页面显示有关如何实现这一目标的完整文档, 我也尝试做一个简单的项目,但我没有运行它。我不知道如何解析容器,在哪里/如何调用 install(),我完全搞砸了。

谁能帮我做一个包含注册/安装完整演示的示例项目?

提前致谢:)

【问题讨论】:

    标签: .net castle-windsor


    【解决方案1】:

    另外,Mark Seemann's Dependency Injection in .NET book 也是一个不错的起点。写得很好,专门有一章是关于温莎城堡的。

    他们也有一些good tutorials on code project,我以前用过:

    更新

    嗯,最简单的教程如下:

    1) 在 VS2010 中创建新的控制台应用程序

    2) 右击“References”,选择“Manage NuGet Packages”,安装Castle.Windsor

    3) 对 Program.cs 使用以下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Castle.MicroKernel.Registration;
    using Castle.Windsor;
    
    namespace ExploringCastleWindsor
    {
        internal class Program
        {
            interface ILogger
            {
                void Log(string message);
            }
    
            class Logger : ILogger
            {
                public void Log(string message)
                {
                    Console.WriteLine(message);
                }
            }
    
            static void Main(string[] args)
            {
                // Registering
                var container = new WindsorContainer();
                container.Register(Component.For<ILogger>().ImplementedBy<Logger>());
                // Resolving
                var logger = container.Resolve<ILogger>();
                logger.Log("Hello World!");
            }
        }
    }
    

    【讨论】:

    • 感谢这本书,我浏览了这些教程,但不幸的是无法一次整合所有这些概念。请给我一个简单的完整项目:)
    • 非常感谢,它对我帮助很大:),但是当我对其进行一些更改时遇到了一些问题,请查看此链接stackoverflow.com/questions/14669756/…
    【解决方案2】:

    如果您正在寻找教程,请查看此link

    它在一个例子中解释了 CastleWindsor、Nhibernate 和 UnitOfWork。

    【讨论】:

      【解决方案3】:

      您也可以使用

      添加温莎城堡

      工具 --> NuGet 包管理器 --> 包管理器控制台。

      而不仅仅是输入 Install-Package Castle.Windsor

      完成组装后,您就可以开始使用代码了。 Sebastian K 提供了一个很好的工作代码示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多