Files
caliverse_server/ServerBase/Redis/RedisRequestBase.cs
2025-05-01 07:20:41 +09:00

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();
}