基于WinForm客户端的简单本地缓存实战

本文介绍了如何在WinForm应用中使用C#实现简单的本地数据缓存功能。通过创建AgencyCache类,利用BinaryFormatter进行序列化和反序列化,实现了配置代理信息的存储和读取。在加载窗体时读取缓存数据,点击保存时将数据写入本地文件,为车辆管理系统提供数据支持。
摘要由CSDN通过智能技术生成

简而言之:WinForm是·Net开发平台中对Windows Form的一种称谓,开发语言通常是C#,一款微软出品并可以媲美Java的面向对象编程语言,它含有一个窗体,作为控件和其它图形的平台,可以开发智能客户端,比如QQ、Photoshop等C端,在Windows平台下非常NICE,笔者在开发一款【车辆管理系统】软件中,用到了缓存机制,简单记录一下。

一,效果图,是否如你所想,点击配置代理,弹出需要存储的Neek和AppKey,这两个值即是需要缓存到本地的,以便下次启动项目时使用此值。

二,创建一个普通类:AgencyCache,编写缓存和读取代码。

1、缓存代码:

  public static void Cache(String neek, String appkey)
        {
           
            Dictionary<String, String> keys = new Dictionary<String, String>();

            FileStream fileStream = new FileStream("agency.data", FileMode.Create);
            BinaryFormatter binaryFormatter = new BinaryFormatter();

            keys.Add("neek", neek);
            keys.Add("appkey",appkey);

            binaryFormatter.Serialize(fileStream, keys);

            fileStream.Close();
        }

2、读取代码:

    public static Dictionary<String, String> Query()
        {
            Dictionary<String, String> keys = new Dictionary<String, String>();

            FileStream fileStream = new FileStream("agency.data", FileMode.OpenOrCreate);
            if (fileStream.Length > 0)
            {
                BinaryFormatter binaryFormatter = new BinaryFormatter();

                keys = binaryFormatter.Deserialize(fileStream) as Dictionary<String, String>;

                Console.WriteLine("缓存数据:" + "=Neek=" + keys["neek"] + "=AppKey=" + keys["appkey"]);
            }
            else
            {
                keys.Add("neek", "");
                keys.Add("appkey", "");
            }

            fileStream.Close();

            return keys;
        }

3、如何使用代码,即当点击配置代理时打开弹窗并读取数据值显示,当点击保存配置时则缓存本地。

private void AgencyForm_Load(object sender, EventArgs e)
        {

            Console.WriteLine("开始载入窗体,读取保存数据");


            this.NeekTextBox.Text = AgencyCache.Query()["neek"];
            this.AppKeyTextBox.Text = AgencyCache.Query()["appkey"];


            this.NeekTextBox.Select(this.NeekTextBox.TextLength, 0);


        }
 private void SaveBtn_Click(object sender, EventArgs e)
        {

            if (this.NeekTextBox.Text.Length == 0 || this.AppKeyTextBox.Text.Length == 0)
            {
                MessageBox.Show("抱歉,配置代理不能为空");
            }
            else
            {
                AgencyCache.Cache(this.NeekTextBox.Text, this.AppKeyTextBox.Text);

                MessageBox.Show("保存配置成功");
            }
        }

三、查看创建的缓存文件位置在项目根目录,如下图:

至此,一个非常简单又实用的基于WinForm客户端的本地数据缓存功能就实现了,春暖花开,我还在写代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

群鸿

感谢认可,多谢打赏。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值