1
我有一个函数,我用于压力测试,我想压力测试多个函数。我在这里进行压力测试的功能是GetParameters(reportUri, SessionContext);
如何创建一个帮助函数,调用其他函数作为参数
如何添加一个辅助函数,其中我可以传递一个参数,如动作主体或委托(这很好,但我有不同参数的多个函数)。并通过动态替换this.RemoteReportingServiceFactory.CreateReportParameterProvider().GetParameters(reportUri, SessionContext);
执行所有步骤。除了上面提到的行外,整个功能体将是相同的
public void GetParameters()
{
for (int i = 0; i < 100; i++)
{
Log.Message(TraceEventType.Information, "Start of {0} sequential iteration with 5 parallel stress runs".InvariantFormat(i));
Parallel.For(0, 2, parameterIteration =>
{
Log.Message(TraceEventType.Information, "Stress run count : {0}".InvariantFormat(parameterIteration + 1));
string reportUrl = TeamFoundationTestConfig.TeamFoundationReportPath("TaskGroupStatus");
ReportUri reportUri = ReportUri.Create(reportUrl);
Log.Message(TraceEventType.Information, "ReportUri = {0}".InvariantFormat(reportUri.UriString));
IList<Parameter> parameters = this.RemoteReportingServiceFactory.CreateReportParameterProvider().GetParameters(reportUri, SessionContext);
});
}
}
让我知道如果我不够清楚。我可以编辑我的问题按要求
威尔的Parallel.For在同一名单的IList上工作?基本上我希望Parallel.For中的每个方法体都可以自行执行,因为.Net将产生它自己的线程。最后,我想断言参数列表是否与期望的编号匹配 –
StackOverflowVeryHelpful
“Func”decleration的最后一个参数是返回结果,因此每个实例都应该是“Parallel.For”删除的本地。 –