C# 如何根据某个比率执行代码?
我知道标题可能不会让你明白。让我在这里解释一下 我在visual studio中有一个测试用例(负载测试)。要求是,它必须根据web.config文件中给出的分配访问不同的url 在web.config中,我有一组值C# 如何根据某个比率执行代码?,c#,asp.net,visual-studio,performance,C#,Asp.net,Visual Studio,Performance,我知道标题可能不会让你明白。让我在这里解释一下 我在visual studio中有一个测试用例(负载测试)。要求是,它必须根据web.config文件中给出的分配访问不同的url 在web.config中,我有一组值 <appSettings> <add key="Allocation1" value="20"/> <add key="Allocation2" value="80"/> </appSettings> 运行测试时,我希望访问第一
<appSettings>
<add key="Allocation1" value="20"/>
<add key="Allocation2" value="80"/>
</appSettings>
运行测试时,我希望访问第一个url 20%和第二个url 80%。表示如果第一个url选择了2次,则应选择下一个8次的第二个url
有人能提供一个线索,这是可以实现的吗?有线索吗 如果有大量迭代,我将基于随机值实现它。基本上
var rnd = new Random();
var number = rnd.Next(0, 100);
if(number <= allocation1)
[[call URL 1]];
else
[[call URL 2]];
编辑:
对于两个以上的百分比,请使用更多条件
if(number <= allocation1)
[[call URL 1]];
else if(number <= allocation1 + allocation2)
[[call URL 2]];
else
[[call URL 3]];
if(数字意味着如果第一个url选择了2次,那么接下来的8次第二个url应该被选择。
之后会发生什么?之后我有一个代码可以完成其余的功能。现在随机选择url和rest功能工作正常。具体来说,你有什么问题吗?从配置f读取ile?运行一些代码X次(但这只是循环的for
对吗?)还有什么?虽然我同意大数定律,但这里似乎没有什么理由引入随机化。OP试图执行一个特定的分布。随机化最多不会显著改变分布。但它有机会这样做,最坏的情况是。@leonard_deutsch,好的,如果我是givi,结果会是什么ng 3值而不是2..30%、30%、40%
if(number <= allocation1)
[[call URL 1]];
else if(number <= allocation1 + allocation2)
[[call URL 2]];
else
[[call URL 3]];