我有多个角度组件,它们都包含不同的 IFrame。我遇到的问题是,当我在应用程序中导航时,它会触发 IFrame 的重新加载。从一个页面导航到另一个页面时,有没有办法保留 IFrame 状态。我尝试过使用 RouteReuseStrategy,但我还没有找到让它存储 IFrame 内容的方法。这样做的目的是防止每次来回导航时重新加载 IFrame。
有没有办法通过自定义路由重用策略来做到这一点?
还有其他方法可以实现这一目标吗?也许是 IFrame 的替代品?
在visual studio中,文件名旁边的数字代表什么?这是完全相同的文件。
下面是一个例子:
![1]](https://i.stack.imgur.com/dtM4C.png)
几周前它开始这样做,我找不到任何有关此的信息。有没有办法停用此功能?
使用Visual Studio 2017 NUnit和resharper测试运行器,在大型c#项目(5000+)测试中进行TDD时如何保持良好的单元测试速度.即使每个测试只需要5ms,也就是25秒,这对于TDD周期来说非常慢.
我们的测试不会调用数据库,也不会调用外部Web服务.他们只测试业务逻辑.
我发现使用moq,单独执行Mock.Setup()需要大约1ms.由于每次测试可能会有几个moq设置调用,这是我们慢速单元测试的罪魁祸首.
有没有办法加快单位测试的速度?有没有比moq更快的模拟库?或者可能是另一个更快的测试运行器?
所以我有以下代码,除了Set或Delete之外还有一些其他方法,但为了简单起见,我会简短说明:
public byte[] Get(string key)
{
byte[] Action() => this.Cache.Get(key);
return this.Execute(Action);
}
public void Delete(string key)
{
void Action() => this.Cache.Delete(key);
return this.Execute(Action);
}
private void Execute(Action action)
{
this.Execute(() =>
{
action();
return 0;
});
}
private T Execute<T>(Func<T> action)
{
if (someCondition)
{
try
{
return action();
}
catch (Exception)
{
//do something
}
}
else
{
//do something else
}
return default(T);
}
Run Code Online (Sandbox Code Playgroud)
现在我想让这段代码异步.我试过做:
public async Task<byte[]> GetAsync(string key)
{
async Task<byte[]> Action() => await this.Cache.GetAsync(key); …Run Code Online (Sandbox Code Playgroud)