Task.Run(()=>{})将操作委托放入队列并返回任务.在Task.Run()中使用async/await有什么好处吗?我知道Task.Run()是必需的,因为如果我们想直接使用await,那么调用方法将需要成为Async并且会影响调用的地方.
以下是在Task.Run()中具有异步等待的示例代码.完整示例如下:https://msdn.microsoft.com/en-us/library/hh228607(v = vs.110).aspx
Task.Run(async () => { await new WebClient().DownloadStringTaskAsync("");});
Run Code Online (Sandbox Code Playgroud)
或者这可以做到,
Task.Run(() => new WebClient().DownloadStringTaskAsync("").Result;);
Run Code Online (Sandbox Code Playgroud)
由于Task.Run()和Await都将对工作进行排队并将被线程池选中,因此Task.Run()中的async/await是否有点多余?
我在某种程度上理解桥梁模式.我理解接口和实现的分离.它使用类似插件的实现者类,它保存派生类实现的实际逻辑.
但有人可以解释它如何允许接口和派生独立发展?如果我想向接口添加一个新方法,它必须在派生类中实现,它将修改它.
其次,必须修改客户端代码以在需要新对象时设置新的实现者.
我理解来自userManager.GeneratePasswordResetToken()的令牌用于在超链接中添加安全标识符,以便在密码重置请求时发送给用户.
但我不确定userManager.GenerateUserToken()的用户是什么.我能够生成令牌,但不确定是否可以将其转换为SAML令牌等声明并用于授权.
请帮助我理解这一点,因为我无法找到任何关于此的好文档.
我正在尝试理解 open GL 概念。在阅读本教程 - http://www.arcsynthesis.org/gltut/Positioning/Tut04%20Perspective%20Projection.html时,我遇到了以下声明:
这是因为相机空间和 NDC 空间具有不同的观察方向。在相机空间中,相机向下看-Z轴;Z 负值越大,距离越远。在NDC空间中,相机向下看+Z轴;正 Z 值越大,距离越远。该图翻转了轴,以便两个图像之间的观察方向可以保持相同(向上是远离的)。
我很困惑为什么必须改变观看方向。有人可以举个例子帮助我理解这一点吗?