我正在使用ASP.NET Core MVC创建网站,我看到一些我没有调用的线程正在运行,甚至没有调用Action。
在调试这个静态方法时看到了这些线程:
public static T ParseReader<T>(MySqlDataReader dataReader, bool closeReader = false) where T : new()
{
if (!dataReader.Read()) return default(T);
T returnObject = new T();
List<string> columnList = new List<string>();
for (var i = 0; i < dataReader.FieldCount; ++i)
columnList.Add(dataReader.GetName(i));
foreach (var column in columnList)
{
var property = returnObject.GetType().GetProperty(column);
if (property == null || dataReader[column] == DBNull.Value)
continue;
var value = Convert.ChangeType(dataReader[column], property.PropertyType);
property.SetValue(returnObject, value);
}
if (closeReader) dataReader.Close();
return returnObject;
}
当记录的用户调用特定操作时调用该方法,并且似乎在用户调用操作之前调用该操作。
是什么原因?它使我的调试变得混乱!