Skip to content

Commit feb944d

Browse files
committed
[fix] 判断是否异步处理器时,要反射非公开方法,比如OnProcessAsync
1 parent 05c64ef commit feb944d

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

AntJob/Handler.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Concurrent;
22
using System.Diagnostics;
3+
using System.Reflection;
34
using AntJob.Data;
45
using AntJob.Providers;
56
using NewLife;
@@ -102,12 +103,12 @@ private Boolean IsExecuteAsyncOverridden()
102103
{
103104
var currentType = GetType();
104105
var baseType = typeof(Handler);
105-
var baseType2 = "DataHandler".GetTypeEx();
106+
var baseType2 = "AntJob.Extensions.DataHandler".GetTypeEx();
106107

107108
// 获取当前类型的所有方法,目标方法任意之一被重写即可
108109
var names = new[] { "ProcessAsync", "OnProcessAsync", "ExecuteAsync", "ProcessItemAsync" };
109110
//var types = new[] { "Handler", "MessageHandler", "CSharpHandler", "DataHandler", "SqlHandler" };
110-
var methods = currentType.GetMethods();
111+
var methods = currentType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
111112
foreach (var method in methods)
112113
{
113114
if (!names.Contains(method.Name)) continue;

0 commit comments

Comments
 (0)