小编Cho*_*man的帖子

通过路由重用和角度使 IFrame 持久化

我有多个角度组件,它们都包含不同的 IFrame。我遇到的问题是,当我在应用程序中导航时,它会触发 IFrame 的重新加载。从一个页面导航到另一个页面时,有没有办法保留 IFrame 状态。我尝试过使用 RouteReuseStrategy,但我还没有找到让它存储 IFrame 内容的方法。这样做的目的是防止每次来回导航时重新加载 IFrame。

有没有办法通过自定义路由重用策略来做到这一点?

还有其他方法可以实现这一目标吗?也许是 IFrame 的替代品?

iframe angular-routing angular

6
推荐指数
0
解决办法
1325
查看次数

在visual studio中打开的文件名旁边的数字是多少?

在visual studio中,文件名旁边的数字代表什么?这是完全相同的文件。

下面是一个例子: 1]

几周前它开始这样做,我找不到任何有关此的信息。有没有办法停用此功能?

visual-studio

4
推荐指数
2
解决办法
2224
查看次数

如何在大型c#项目中进行TDD时处理慢速单元测试

使用Visual Studio 2017 NUnit和resharper测试运行器,在大型c#项目(5000+)测试中进行TDD时如何保持良好的单元测试速度.即使每个测试只需要5ms,也就是25秒,这对于TDD周期来说非常慢.

我们的测试不会调用数据库,也不会调用外部Web服务.他们只测试业务逻辑.

我发现使用moq,单独执行Mock.Setup()需要大约1ms.由于每次测试可能会有几个moq设置调用,这是我们慢速单元测试的罪魁祸首.

有没有办法加快单位测试的速度?有没有比moq更快的模拟库?或者可能是另一个更快的测试运行器?

c# tdd resharper unit-testing visual-studio

2
推荐指数
1
解决办法
461
查看次数

async lamda应该在异步函数中运行吗?

所以我有以下代码,除了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)

c# asynchronous async-await

1
推荐指数
1
解决办法
89
查看次数