2024-09-30 17:10:43 +08:00

39 lines
1001 B
C#

using System;
using System.Collections.Generic;
using System.Text;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using Microsoft.Extensions.Caching.Distributed;
namespace JiShe.CollectBus.Protocol.Contracts.Abstracts
{
public abstract class BaseProtocolPlugin:IProtocolPlugin
{
private readonly IDistributedCache _cache;
protected BaseProtocolPlugin(IDistributedCache cache)
{
_cache = cache;
}
public abstract Models.Protocol Get();
public abstract void Received();
public abstract void Send();
public void Load()
{
var result = _cache.GetString("myKey");
if (result == null)
{
result = "Calculated Data";
_cache.SetString("myKey", result, new DistributedCacheEntryOptions
{
AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10)
});
}
}
}
}