39 lines
1001 B
C#
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)
|
|
});
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|