命令行执行插件
定义
定义
一、说明
TcpCommandLinePlugin命令行执行插件,是用于TCP的快捷事务实现。该类是抽象类,必须通过继承,在继承类中,声明的具的公共的且名称以Command结尾的方法,均可被快捷执行。
二、创建快捷执行插件
/// <summary>
/// 命令执行插件。方法必须以Command结尾。
/// </summary>
class MyCommandLinePlugin : TcpCommandLinePlugin
{
private readonly ILog logger;
public MyCommandLinePlugin(ILog logger) : base(logger)
{
this.ReturnException = true;//表示执行异常的时候,是否返回异常信息
this.logger = logger;
}
/// <summary>
/// 加法
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public int AddCommand(int a, int b)
{
this.logger.Info($"执行{nameof(AddCommand)}");
return a + b;
}
/// <summary>
/// 乘法,并且获取调用者信息
/// </summary>
/// <param name=""></param>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public int MULCommand(ITcpSessionClient SessionClient,int a, int b)
{
this.logger.Info($"{SessionClient.IP}:{SessionClient.Port}执行{nameof(MULCommand)}");
return a * b;
}
/// <summary>
/// 测试异常
/// </summary>
/// <exception cref="Exception"></exception>
public void ExcCommand()
{
throw new Exception("我异常了");
}
}