我们试图测量使用同步方法和异步读取一系列文件之间的性能.期望在两者之间大约有相同的时间但是使用异步的速度大约慢5.5倍.
这可能是由于管理线程的开销,但只是想了解您的意见.也许我们只是在测量时间错误.
这些是正在测试的方法:
static void ReadAllFile(string filename)
{
var content = File.ReadAllBytes(filename);
}
static async Task ReadAllFileAsync(string filename)
{
using (var file = File.OpenRead(filename))
{
using (var ms = new MemoryStream())
{
byte[] buff = new byte[file.Length];
await file.ReadAsync(buff, 0, (int)file.Length);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是运行它们并启动秒表的方法:
static void Test(string name, Func<string, Task> gettask, int count)
{
Stopwatch sw = new Stopwatch();
Task[] tasks = new Task[count];
sw.Start();
for (int i = 0; i < count; i++)
{
string filename = "file" …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,要求对2个网站进行跨域(非子域)身份验证的单点登录.
我正在搜索其他人在这里和网上说过的内容,并尝试使用DotNetOpenAuth,但我对它没有多大意义,而且文档没有多大帮助.所以我转向OneLogin,这似乎提供了我想要的东西但是再次缺乏文档.我想我必须同时使用它们,但我无法连接这些拼图.
我正在接近基于单点登录企业安全性Web应用程序实现自己的SSO解决方案,但是要避免这种情况,因为它比使用现有解决方案需要更多时间并且更容易出错.
所以现在为所有的大师提出一些问题:
谢谢你的帮助!