首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Caliburn.Micro中阅读app.config appSettings与DI配合使用

在Caliburn.Micro中,可以通过以下步骤来阅读app.config中的appSettings并与依赖注入(DI)配合使用:

  1. 创建一个名为AppConfigReader的类,用于读取app.config中的appSettings。该类应实现一个名为IAppConfigReader的接口,以便后续进行依赖注入。
代码语言:txt
复制
public interface IAppConfigReader
{
    string GetAppSetting(string key);
}

public class AppConfigReader : IAppConfigReader
{
    public string GetAppSetting(string key)
    {
        return ConfigurationManager.AppSettings[key];
    }
}
  1. 在启动类(通常是App.xaml.cs)中,使用DI容器(如SimpleContainer)注册AppConfigReader类的实例。
代码语言:txt
复制
public class AppBootstrapper : BootstrapperBase
{
    private SimpleContainer container;

    protected override void Configure()
    {
        container = new SimpleContainer();
        container.Singleton<IAppConfigReader, AppConfigReader>();
    }

    // 省略其他方法...

    protected override object GetInstance(Type service, string key)
    {
        return container.GetInstance(service, key);
    }

    protected override IEnumerable<object> GetAllInstances(Type service)
    {
        return container.GetAllInstances(service);
    }

    protected override void BuildUp(object instance)
    {
        container.BuildUp(instance);
    }
}
  1. 在需要读取appSettings的地方,通过依赖注入获取IAppConfigReader的实例,并调用GetAppSetting方法来获取具体的配置值。
代码语言:txt
复制
public class MyViewModel : Screen
{
    private readonly IAppConfigReader appConfigReader;

    public MyViewModel(IAppConfigReader appConfigReader)
    {
        this.appConfigReader = appConfigReader;
    }

    public void SomeMethod()
    {
        string settingValue = appConfigReader.GetAppSetting("SomeKey");
        // 使用配置值进行后续操作...
    }
}

通过以上步骤,你可以在Caliburn.Micro中使用依赖注入来读取app.config中的appSettings。这样做的优势是可以将配置值与代码解耦,方便在不同环境下进行配置切换。在实际应用中,你可以根据具体需求选择适合的腾讯云产品,如云服务器、云数据库等,来支持你的应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

mysql connectionstrings_「connectionstrings」C#连接数据库时Appsettings connectionStrings的区别 – seo实验室…

connectionstrings 一、.APPsettingsconnectionStrings的区别,它俩都是App.config的两个元素;AppSettings是ASP.NET1.1时期用的...,在.NET Framework 2.0,新增了ConnectionStrings. 1.Appsettings:存放自定义应用程序设置,文件路径等;connectionStrings:专门用来存放数据库连接串的...3、使用ConnectionString的好处: 3.1、可将连接字符串加密,使用MS的一个加密工具。...> 5.0 自己链接数据库所用的代码 1.0 //appSettings app.config: //c#代码的连接语句 private static string connString = ConfigurationManager.AppSettings...persist security info=False;是表示是否保存安全信息,其实可以简单的理解为”ADO在数据库连接 //成功后是否保存密码信息”(False表示不保存,True表示保存) 第二种: 相关阅读

52810
  • ASP.NET Core 一个接口多个实现的依赖注入动态选择

    今天我带大家看看如何在ASP.NET Core里不依赖反射,根据配置文件,在运行时动态选择一个接口的具体实现。 首先,这个需求其实来自我自己的博客系统。...接口定义两套实现 首先,接口长这样: public interface IHelloer { string SayHello(); } 有两个实现: public class HelloerA...发现出来的是HelloB,就是我们注册DI时候顺序在最后的那个实现。 那么问题来了,我想要运行时选择HelloA怎么办?请往下看。...构造函数居然还能这样注入 其实,在ASP.NET Core,当你对一个接口注册了多个实现的时候,构造函数是可以注入一个该接口集合的,这个集合里是所有注册过的实现。...class AppSettings { public string CurrentHelloer { get; set; } } 同样注册DI及构造器注入 services.Configure

    4K30

    .NET Core类库读取配置文件

    最近在开发基于.NET Core的NuGet包,遇到一个问题: .NET Core已经没有ConfigurationManager类,在类库无法像.NET Framework那样读取App.config...或Web.config(.NET Core是appsetings.json)文件的数据。...思路: 先在当前目录下寻找appsettings.json文件 若存在,则读取改文件的配置信息 不存在,则到根目录寻找appsettings.json文件 具体做法如下: 使用NuGet安装Microsoft.Extensions.Configuration.Json...appsettings.json文件 var fileName = "appsettings.json"; var directory = AppContext.BaseDirectory...相关阅读 Configure an ASP.NET Core App 版权声明 本文为作者原创,版权归作者雪飞鸿所有。 转载必须保留文章的完整性,且在页面明显位置处标明原文链接。

    1.2K30

    Generic-Host 快速使用指南

    .NETCORE 的 Generic Host 本文以自己在工作中学习和使用.net core generic-host 作一个总结。...如何在控制台程序创建主机 通过dotnet new console 创建一个控制台项目 通过Nuget添加以下包 Microsoft.Extensions.Hosting 首先,我们看下IHostBuilder...现在我们可以通过 dotnet run --environment=Development来指定dev环境了,此时我们发现我们终于成功加载appsettings.Development.json的配置信息了...使用Autofac来替代默认的 DI 简单认识一下Autofac 一个第三方的依赖注入容器,相对Microsft.Extensions.DependencyInjection使用更加简单方便。...我们可以使用UseServiceProviderFactory()和service.AddAutofac() 将默认的DI 替换成 Autofac; 使用ConfigureContainer<ContainerBuilder

    80720

    在NETCORE实现KEY Vault

    在开发过程,保护隐私密钥是一个很常见的场景,我们可以用多环境的配置文件来实现保护生产环境的密钥,也可以使用k8s或者配置中心的方式,Azure全家桶,提供Azure Key Vault,可以方便我们快速的配置...一、什么是Azure Key Vault 在之前的文章,我们也详细说到了KeyVault的原理和开启方式,也介绍过如何将 Azure 应用程序配置服务 Azure Key Vault 配合使用。...在继续操作之前,请先完成使用应用程序配置创建 ASP.NET Core 应用,相应的代码可以点击文章末尾的阅读原文。...因为已经注册到configration中了,所以使用方式和从appsettings.json读取是一样的 //var conn = Configuration.GetValue(...React或者Vue,来实现对Azure的整体使用和架构搭建了,咱们下个文章继续吧。

    22920

    App.config和Web.config配置文件的自定义配置节点

    App.config配置文件的配置貌似出现了问题。...在asp.net应用程序运行过程,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存的用户会话信息就会丢失(存储在内存的Session)。   ...在asp.net应用程序运行过程,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存的用户会话信息就会丢失(存储在内存的Session)。...解决的方法便是使用自定义节点配置来解析。 我们来看一下如何在app.config或者web.config增加一个自定义的配置节点。 在这篇博客,我将介绍4种自定义配置节点的方式。...例如: 就是关于appSettings下的配置节点都配置到了config\My.config文件

    96830

    App.config和Web.config配置文件的自定义配置节点

    App.config配置文件的配置貌似出现了问题。...在asp.net应用程序运行过程,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存的用户会话信息就会丢失(存储在内存的Session)。   ...在asp.net应用程序运行过程,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存的用户会话信息就会丢失(存储在内存的Session)。...解决的方法便是使用自定义节点配置来解析。 我们来看一下如何在app.config或者web.config增加一个自定义的配置节点。 在这篇博客,我将介绍4种自定义配置节点的方式。...例如: 就是关于appSettings下的配置节点都配置到了config\My.config文件

    1.7K10

    C# 通过 probing 指定 dll 寻找文件夹

    在很大的项目开发,会发现项目引用的 dll 会很多,我想要按照不同的功能,将不同的 dll 放在不同的文件夹 简单的方法是通过修改 App.config 文件指定文件夹,将文件移动到 abc\12 的文件夹里面...,可以在 App.config 添加代码 <?...lindexi.exe abc\12\doubi.dll 打开 App.config 添加上面的代码就可以 如果有两个不同的dll需要放在两个不同的文件夹, walter.dll 需要放在 walter...在输出文件夹找到 xx.exe.config 可以通过修改这个文件在编译之后修改 dll 的寻找文件夹 如果是对于 C++ 的 dll 需要做特殊引用,如需要区分 x86 和 x64 请看 C# 如何在项目引用...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

    2K20

    ASP.NET Core开发者成长路线图

    ⭐ 如果你喜欢或正在使用这个项目进行学习或引用在你的解决方案,请给它一个星星。谢谢!...及其请求方法(GET, POST, PUT, PATCH, DELETE, OPTIONS) 不要害怕使用 Google, Google搜索技巧 学习dotnet CLI 阅读一些关于算法和数据结构的书籍...依赖注入 DI容器 Microsoft.Extensions.DependencyInjection AutoFac Ninject StructureMap Castle Windsor 生命周期...它将为你渲染生成路线图,更新它,上传和更新自述文件的图像并创建一个 PR(导出为400%的png图片,然后使用Compressor.io压缩)。...Caliburn.Micro(WPF和MVVM)开发简单的计算器 JS实现页面复制文字时自动加版权 开发小白也毫无压力的hexo静态博客建站全攻略 - 躺坑后亲诉心路历程 改进博客园Markdown显示功能

    2.2K30

    携程 Apollo 配置中心传统 .NET 项目集成实践

    官方文档存在的问题 可能由于 Apollo 配置中心的客户端源码一直处于更新,导致其相关文档有些跟不上节奏,部分文档写的不规范,很容易给做对接的新手朋友造成误导。...ctripcorp/apollo - .Net客户端使用指南 ctripcorp/apollo.net - .Net客户端之 System.Configuration.ConfigurationManager...若您看到文档内容本文描述不符,请以官方文档为准。 传统 .NET 项目快速接入 快速进入正题。...配置应用标识 & 服务地址 在您的启动项目中,打开App.config或Web.config配置文件,在节点中增加如下节点: <!...在使用之前需要先把ApolloConfiguration注册到应用容器,请参考如下代码: // 这里我们项目使用DI 框架是`Autofac`,按需修改吧,记得将实例注册成单例模式。

    81840

    C# WPF MVVM开发框架Caliburn.Micro入门介绍①

    在CaliburnMicro只需要按照约定把View的名字加上后缀ViewModel,就是它的View Model 的名字,:MainPage和 MainPageViewModel。...因此,给定上面相同的模型,但使用View.Context=“Master”我们将搜索MyApplication.Views.Shell.Master。当然,所有这些都是可定制的。...如果您更喜欢使用监控控制器和被动查看而不是MVVM,请继续。你会发现Caliburn.Micro可以帮助你很多,特别是它的Screen/ScreenConductor实现。...我一直很小心地使ApplicationDeveloperAPICaliburn的完整版本保持一致。事实上,我在Caliburn.Micro中所做的改进正在被重新折叠到Caliburn v2。...您可以开始使用Caliburn.Micro进行开发,然后,如果您遇到边缘情况或有其他需要转移到Caliburn,您将能够在应用程序中进行少量更改或不进行任何更改。

    1.8K20

    一起学习设计模式--07.适配器模式

    一、没有源码的算法库 背景 A公司以前开发了一个算法库,里面包含了一些常用的算法,排序和查找等算法,在进行各类软件开发时经常需要重用该算法库的算法。...在对象适配器模式,适配器适配者之间是关联关系;在类适配器模式,适配器适配者之间是继承(或实现)关系。...如果要使用其他的排序或算法,可以新增一个适配器,然后修改配置文件的适配器类名为新的适配器即可,这样就无需修改原有代码 App.Config 帮助类 public class AppConfigHelper {...2.适用场景 系统需要使用一些现有类,而这些类的接口不符合系统的需要,甚至没有这些类的源代码。 想创建一个可以重复使用的类,用于一些彼此之间的没有太大关联的类,包括一些可能在将来引进的类一起工作。

    23510

    配置文件的数据库连接串加密了,你以为我就挖不出来吗?

    讲故事 前几天在调试物联柜终端上的一个bug时发现 app.config 的数据库连接串是加密的,因为调试要切换数据库,我需要将密文放到专门的小工具上解密,改完连接串上的数据库名,还得再加密贴到 app.config...,烦的要死,内容如下: <!...二:使用 ILSpy 去脱库 1....加壳/混淆/加密狗 现在市面上商业版和免费版都提供了给C#代码进行加密和混淆,不过我没用过,我想最多在反编译代码后阅读性上增加了一些障碍,这也不过是时间问题罢了,毕竟SqlConnection,SqlCommand...接下来的问题就是有没有办法把进程的这个静态变量给挖出来?你说的对,就是抓程序的 dump文件 用 windbg 去挖。 三:使用 windbg 去脱库 1.

    66120
    领券