DotLess的“网络”属性究竟做了什么?

时间:2012-06-21 11:13:10

标签: asp.net web-config dotless

dotless documentation非常有限。我找不到关于配置选项的任何信息 - 特别是“web”属性的功能。

任何人都可以启发我吗?

1 个答案:

答案 0 :(得分:19)

代码通常是开源项目的相当好的文档;)

抓住代码的副本并查看dotless.Core>配置> DotlessConfiguration.cs你会看到关于所有配置元素的一些方便的评论 - 这是Web的

/// <summary>
///  Whether this is used in a web context or not
/// </summary>
public bool Web { get; set; }

不可否认,它并没有告诉你很多,但找到了对该属性的引用,并且在代码中只出现了一个地方 -

if (!configuration.Web)
    RegisterLocalServices(pandora);  

这开始为您提供更好的线索,了解它的作用是什么

    protected virtual void RegisterLocalServices(FluentRegistration pandora)
    {
        pandora.Service<ICache>().Implementor<InMemoryCache>();
        pandora.Service<IParameterSource>().Implementor<ConsoleArgumentParameterSource>();
        pandora.Service<ILogger>().Implementor<ConsoleLogger>().Parameters("level").Set("error-level");
        pandora.Service<IPathResolver>().Implementor<RelativePathResolver>();
    }

因此它设置了内存缓存,登录到控制台等(即如果不在Web环境中则使用它的服务)