76 lines
1.7 KiB
C#
76 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using Microsoft.AspNetCore.Server.IIS.Core;
|
|
|
|
|
|
using ServerCore; using ServerBase;
|
|
|
|
|
|
namespace ServerBase;
|
|
|
|
public abstract partial class RedisRequestBase : IInitializer
|
|
{
|
|
private readonly RedisConnector m_redis_connector;
|
|
|
|
private string m_key = string.Empty;
|
|
private string m_member = string.Empty;
|
|
|
|
|
|
public RedisRequestBase(RedisConnector redisConnector)
|
|
{
|
|
m_redis_connector = redisConnector;
|
|
}
|
|
|
|
public virtual Task<Result> onInit()
|
|
{
|
|
var result = new Result();
|
|
|
|
return Task.FromResult(result);
|
|
}
|
|
|
|
protected abstract string onMakeKey();
|
|
|
|
protected virtual string onMakeMember() { return m_member; }
|
|
|
|
public virtual async Task<Result> onPrepareRequest()
|
|
{
|
|
var result = new Result();
|
|
var err_msg = string.Empty;
|
|
|
|
result = await Task.Run( () =>
|
|
{
|
|
if(true == m_key.isNullOrWhiteSpace())
|
|
{
|
|
m_key = onMakeKey();
|
|
}
|
|
|
|
if (0 >= m_key.Length)
|
|
{
|
|
err_msg = $"Failed to prepare Reuqest of Redis !!! - {toBasicString()}";
|
|
result.setFail(ServerErrorCode.RedisRequestKeyIsEmpty, err_msg);
|
|
Log.getLogger().error(result.toBasicString());
|
|
return result;
|
|
}
|
|
|
|
return result;
|
|
});
|
|
|
|
return result;
|
|
}
|
|
|
|
public virtual async Task<Result> onDoRequest()
|
|
{
|
|
await Task.CompletedTask;
|
|
var result = new Result();
|
|
|
|
return result;
|
|
}
|
|
|
|
public abstract string toBasicString();
|
|
}
|