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

使用Caliburn Micro向SimpleContainer注册IMemoryCache

Caliburn Micro是一个轻量级的MVVM框架,用于构建WPF、Silverlight和Universal Windows Platform (UWP)应用程序。它提供了一种简单的方式来实现视图和视图模型之间的绑定,以及导航和命令的管理。

IMemoryCache是ASP.NET Core中的一个接口,用于在应用程序中缓存数据。它提供了一种内存缓存机制,可以将经常使用的数据存储在内存中,以提高应用程序的性能。

要使用Caliburn Micro向SimpleContainer注册IMemoryCache,可以按照以下步骤进行操作:

  1. 首先,确保已经在项目中引用了Caliburn Micro和Microsoft.Extensions.Caching.Memory包。
  2. 在应用程序的启动代码中,创建一个SimpleContainer实例,并使用RegisterPerRequest方法将IMemoryCache接口和其对应的实现类MemoryCache注册到容器中。代码示例如下:
代码语言:txt
复制
using Caliburn.Micro;
using Microsoft.Extensions.Caching.Memory;

public class AppBootstrapper : BootstrapperBase
{
    private SimpleContainer container;

    public AppBootstrapper()
    {
        Initialize();
    }

    protected override void Configure()
    {
        container = new SimpleContainer();
        container.RegisterPerRequest(typeof(IMemoryCache), null, typeof(MemoryCache));
    }

    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. 现在,可以在应用程序的任何地方通过依赖注入来获取IMemoryCache实例。例如,在视图模型中可以通过构造函数注入IMemoryCache实例,并在需要的地方使用它。代码示例如下:
代码语言:txt
复制
using Caliburn.Micro;
using Microsoft.Extensions.Caching.Memory;

public class MyViewModel : Screen
{
    private readonly IMemoryCache memoryCache;

    public MyViewModel(IMemoryCache memoryCache)
    {
        this.memoryCache = memoryCache;
    }

    public void SomeMethod()
    {
        // 使用memoryCache进行缓存操作
    }
}

通过以上步骤,我们成功地使用Caliburn Micro向SimpleContainer注册了IMemoryCache接口,并可以在应用程序中使用它进行缓存操作。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云计算产品:https://cloud.tencent.com/product
  • 腾讯云数据库产品:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器产品:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能产品:https://cloud.tencent.com/product/ai
  • 腾讯云物联网产品:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发产品:https://cloud.tencent.com/product/mobdev
  • 腾讯云存储产品:https://cloud.tencent.com/product/cos
  • 腾讯云区块链产品:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙产品:https://cloud.tencent.com/product/tgsvr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# WPF MVVM开发框架Caliburn.Micro自定义引导程序④

让我们首先将应用程序配置为使用IoC容器。本例中我们将使用内置容器,但是Caliburn.Micro可以很好地处理任何容器。首先,继续学习第1部分的代码。我们将以此为出发点。...我还注册了容器本身(只是个人喜好)。 配置完容器后,我们需要告诉Caliburn.Micro如何使用它。这就是后面三个覆盖的目的。框架需要“GetInstance”和“getAllInstance”。...02 给智者的话 虽然Caliburn.Micro确实通过引导程序的覆盖和IoC类提供ServiceLocator功能,但您应该避免在应用程序代码中直接使用它。...Caliburn.Micro 可以从非Xaml主机使用Caliburn.Micro。...一旦类被实例化,您就可以像普通一样使用Caliburn.Micro,可能通过调用IWindowManager来显示新的UI。

94810

【愚公系列】2023年02月 .NET CORE工具案例-Caliburn.Micro使用基于WPF的改造的MVVM案例

文章目录 前言 1.Caliburn.Micro是什么 2.Caliburn.Micro的主要功能 一、Caliburn.Micro使用基于WPF的改造 1.项目介绍 2.安装软件包 3.改造App...2.Caliburn.Micro的主要功能 Caliburn.Micro是一个小型MVVM框架,主要提供了以下功能: 简化MVVM模式的实施 视图绑定 统一方式的消息机制 基于事件和命令的行为触发 支持视图导航...支持Windows Phone和Silverlight平台 Caliburn.Micro 的Github网址:https://github.com/Caliburn-Micro/Caliburn.Micro...Caliburn.Micro 官网:https://caliburnmicro.com/ 一、Caliburn.Micro使用基于WPF的改造 1.项目介绍 HelloWorld:框架的搭建...,并把窗口管理器和事件聚合器注册到了容器中 _container = new SimpleContainer() .Singleton<IWindowManager

1.1K20
  • C# 值得永久收藏的WPF项目实战(经典)

    01 简介 之前也写过好多篇CM框架相关的项目实战文章,比如: C# WPF框架Caliburn.Micro快速搭建 C# WPF框架Caliburn.Micro入门实例1 C# WPF MVVM项目实战...(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF MVVM模式下在主窗体显示子窗体并获取结果 C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面 C# WPF...mvvm模式下combobox绑定(list、Dictionary) C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅 但是可能这些都是把一个综合性的项目分多个部分分别讲述的...其次,因为没有整体的构思,随着内容的增加,项目越来越显得笨重和凌乱,所以今天我重新搞了一个项目,希望以尽量少的代码,涵盖尽量多的知识点,帮助大家更好的理解和使用CM框架。...① MainWindowViewModel.cs类: using PropertyChanged; using System.Collections.ObjectModel; namespace Caliburn.Micro.Hello

    4.9K10

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

    01 Caliburn.Micro简介 Caliburn.Micro是一套基于XAML的MVVM模式的开发框架,它小巧而强大。...02 以下是一个关于Caliburn.Micro简短的列表: Action消息: 操作机制允许您将UI触发器(如按钮的“单击”事件)“绑定”到视图模型或演示器上的方法。该机制还允许方法传递参数。...您聚合器注册了一个消息处理程序,它会您发送您感兴趣的任何消息。您可以通过实现IHandle来声明您对特定消息类型的兴趣。对处理程序的引用被弱持有,发布发生在UI线程上。我们甚至支持多态订阅。...如果您更喜欢使用监控控制器和被动查看而不是MVVM,请继续。你会发现Caliburn.Micro可以帮助你很多,特别是它的Screen/ScreenConductor实现。...您可以开始使用Caliburn.Micro进行开发,然后,如果您遇到边缘情况或有其他需要转移到Caliburn,您将能够在应用程序中进行少量更改或不进行任何更改。

    1.8K20

    从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器

    从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 这段时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了。...Caliburn.Micro是一个轻量级的WPF框架,简化了WPF中的不少用法,推荐做WPF开发时优先使用。...比如本文将介绍如何使用Caliburn.Micro v3.2开发出一个简单的计算器,里面用到了C#中的async异步技术,Caliburn.Micro中的Conductor等等~ Step 1: 在VS...Step 2: 使用NuGet包管理工具为当前项目安装Caliburn.Micro 对于Caliburn.Micro 1.x和2.x版,只能使用.dll,需手动给项目加Reference。...Caliburn.Micro中绑定事件的写法是: cal:Message.Attach="[Event E]=[Action A]" (E是操作,比如Click, MouseDown, KeyDown

    1.3K30

    C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅

    this.eventAggregator = IoC.Get(); 注意需要继承接口IHandle class StartViewModel : Caliburn.Micro.Screen...05 效果演示 06 源码 链接:https://pan.baidu.com/s/1IzA0FzOhnMTE0PCU1T9dLw 往期推荐 C# WPF框架Caliburn.Micro入门实例1 C#...WPF MVVM项目实战(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF框架Caliburn.Micro快速搭建 C# WPF项目实战 C# WPF mvvm模式下combobox绑定...(list、Dictionary) C# WPF MVVM模式下在主窗体显示子窗体并获取结果 C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号的使用

    1.9K10

    WPF框架教程 | 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器

    之前时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了。...Caliburn.Micro(https://blog.csdn.net/lzuacm/article/details/78886436)是一个轻量级的WPF框架,简化了WPF中的不少用法,推荐做WPF...比如本文将介绍如何使用Caliburn.Micro v3.2开发出一个简单的计算器,里面用到了C#中的async异步技术,Caliburn.Micro中的Conductor等等~ >>>1.在VS中创建...WPF项目<<< >>>2.使用NuGet包管理工具为当前项目安装Caliburn.Micro <<< 对于Caliburn.Micro 1.x和2.x版,只能使用.dll,需手动给项目加Reference...Caliburn.Micro中绑定事件的写法是: cal:Message.Attach="[Event E]=[Action A]" (E是操作,比如Click, MouseDown, KeyDown等等

    4.6K10

    C# WPF MVVM开发框架Caliburn.Micro快速搭建③

    01 启动项目 打开Visual Studio 创建一个名为“Caliburn.Micro.Hello”的新WPF应用程序 添加对Caliburn.Micro Nuget包的引用,最新的版本是4.0.173...②打开ShellViewModel.cs并使用以下代码进行实现: using System.Windows; namespace Caliburn.Micro.Hello.ViewModels {...您可以使用以下一小段代码: namespace Caliburn.Micro.Hello { public class HelloBootstrapper : BootstrapperBase...使用以下xaml: <UserControl x:Class="<em>Caliburn</em>.<em>Micro</em>.Hello.ShellView" xmlns="http://schemas.microsoft.com...您现在应该可以看到UI: 在文本框中键入内容将启用该按钮,单击该按钮将显示一条消息: 03 工作原理 <em>Caliburn</em>.<em>Micro</em><em>使用</em>一个简单的命名约定来定位ViewModels的视图。

    1.5K20

    C# WPF MVVM模式Prism框架下事件发布与订阅

    Publish(new PersonInfo() {Name ="zyr",Age = 18,Sex = "nan" }); } 这样,一个发布/订阅的事件就完成了,也可以在任何时候取消事件注册...05 效果演示 06 源码 链接:https://pan.baidu.com/s/1H3HtTRAZVS-FlReTe00yxQ 往期推荐 C# WPF框架Caliburn.Micro入门实例1 C#...WPF MVVM项目实战(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF框架Caliburn.Micro快速搭建 C# WPF项目实战 C# WPF mvvm模式下combobox绑定...(list、Dictionary) C# WPF MVVM模式下在主窗体显示子窗体并获取结果 C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号的使用

    3.2K20

    C# WPF MVVM开发框架Caliburn.Micro关于关于Actions⑤

    以下是Xaml: <UserControl x:Class="<em>Caliburn</em>.<em>Micro</em>.Hello.ShellView" xmlns="http://schemas.microsoft.com...当然,ActionMessage是这个标记中特定于<em>Caliburn</em>.<em>Micro</em>的部分。它表示当触发发生时,我们应该发送一条“SayHello”的消息。...由于我们<em>使用</em>了模型优先的方法,当<em>Caliburn</em>.<em>Micro</em>(以下简称CM)创建视图并<em>使用</em>ViewModelBinder将其绑定到ViewModel时,它为我们设置了此方法。...现在,让我们看看Xaml: <UserControl x:Class="Caliburn.Micro.HelloParameters.ShellView" xmlns="http...可以通过MessageBinder.SpecialValue添加值来扩展这些功能。 注意:使用特殊值,如$this或命名元素 如果不指定属性,CM将使用默认属性,该属性由特定控件约定指定。

    2.1K20

    C# WPF MVVM项目实战(进阶②)

    这篇文章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发,今天主要是增加了一个用户窗体ImageProcessView,然后通过Treeview切换选择项之后在界面显示不同效果的图片...由于StartViewModel继承了Caliburn.Micro.Screen,Caliburn.Micro.Screen实现了INotifyPropertyChanged,所以StartViewModel...继承Caliburn.Micro.Screen,即: public class ImageProcessViewModel : Caliburn.Micro.Screen -....然而使用Collapsed的话,在不可视的基础上,它还能将属性在画面上的占位符清除,属性将彻底不影响画面 namespace System.Windows { public enum Visibility...--------------------------------------- 其它的知识点已经在之前讲解过,不懂得话参考以下链接阅读: C# WPF MVVM项目实战(进阶①) C# WPF框架Caliburn.Micro

    1.3K20

    C# 修改配置文件进行窗体logo切换

    题外的话 大家可能发现这个号现在原创越来越少了,其实小编并没有放弃持续更新,只是把一手原创放到了 【dotnet编程大全】这个号了,那个号目前原创主要更新的是wpf mvvm方面的知识,框架用的Caliburn.Micro...有兴趣学习的可以关注: 相关经典原创文章链接:点击可以查看原文 C# WPF框架Caliburn.Micro快速搭建 C# WPF框架Caliburn.Micro入门实例1 C# WPF MVVM...项目实战 C# WPF mvvm模式下combobox绑定(list、Dictionary) C# WPF MVVM模式下在主窗体显示子窗体并获取结果 C# WPF Caliburn.Micro...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号的使用

    1.2K00

    C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦

    Caliburn.Micro实现 这些概念通过各种接口和基类在CM中实现,这些接口和基类主要用于构建ViewModels。...该方法是使用异步模式设计的,允许在做出密切决策时发生复杂的逻辑,如异步用户交互。调用方将CanClose方法传递一个操作。实现者应该在保护逻辑完成时调用该操作。...之前,我们在Caliburn.Micro中讨论了屏幕和导体的理论和基本API。现在,我将介绍几个示例中的第一个。此特定示例演示如何使用导体和两个“页面”视图模型设置一个简单的导航样式shell。...添加IoC容器并将ToolBarViewModel注册为singleton。...例如,当框架查找Caliburn.Micro.HelloScreens.Customers.CustomersWorkspaceViewModel的详细视图时,它将查找Caliburn.Micro.HelloScreens.Customers.CustomersWorkspace.Detail

    2.6K20
    领券