小编Pet*_*voy的帖子

如何在AutoFixture中冻结空实例

我正在使用Autofixture作为SUT工厂,并且在冻结空实例时遇到困难.

我想做点什么:

_fixture.Freeze<IPayPalConfiguration>(c => null);
Run Code Online (Sandbox Code Playgroud)

但很快意识到这是错误的.我使用这个解决了这个问题:

_fixture.Inject((IMyInterface)null);
Run Code Online (Sandbox Code Playgroud)

但它似乎不对.

希望有人能为HiveMind贡献正确的解决方案.

autofixture

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

带有破折号的参考命令名称

我最近发现Powershell函数只是命名为scriptblocks.例如

function HelloWorld {
    Write-Output "Hello world"
}

$hw = $function:HelloWorld

& $hw     
Run Code Online (Sandbox Code Playgroud)

将执行HelloWorld方法.

但是,我无法弄清楚的是,如何获得对其名称中包含破折号的方法的引用:

function Hello-World {
    Write-Output "Hello world"
}

$hw = $function:Hello-World

You must provide a value expression on the right-hand side of the '-' operator.
At line:1 char:27
+     $hw = $function:Hello- <<<< World
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpectedValueExpression
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

我知道我可以这样做:

$hw = (Get-Item function:Hello-World).ScriptBlock
Run Code Online (Sandbox Code Playgroud)

但它有点"嘈杂",我喜欢$ function语法

powershell powershell-2.0

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

如何重新定义由 powershell 模块导出的函数

有没有办法可以重新定义由模块导出并由另一个模块使用的函数?

鉴于以下文件夹结构:

C:.
?   MyScript.ps1
?
????MyModules
    ????Deployment
    ?       Deployment.psm1
    ?
    ????Logging
            Logging.psm1
Run Code Online (Sandbox Code Playgroud)

以及每个文件的以下内容:

MyScript.ps1:

#Add MyModules to the module path
$cleanedModulePath = @()
$env:PSModulePath -split ";" | %{
    if( !( $_ -Match "MyModules") ){
        $cleanedModulePath += $_
    }
}
$thisDir = (Split-Path -parent $script:MyInvocation.MyCommand.Definition)
$moduleDir = Join-Path $thisDir "MyModules"
$cleanedModulePath += $moduleDir
$env:PSModulePath = ($cleanedModulePath -Join ";")

Import-Module Deployment -DisableNameChecking

#Neither of these manage to redefine Log-Debug - even if put before the Import
function Log-Debug{}
Set-Item -Path function:Log-Debug …
Run Code Online (Sandbox Code Playgroud)

powershell

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

在 docker 中将机密作为环境变量注入安全吗?为什么ECS和EKS支持它?

我很难协调一些在线建议,即将秘密(通常是密码)作为环境变量注入 docker 容器与 AWS ECS 甚至 EKS 的本机功能“不安全”,其中存储在 AWS Secrets Manager 中的秘密作为环境提供变量。我想使用这些平台的原生特性,但似乎这不是一个好主意。

我真的很喜欢/run/secrets“原始”docker的原生方法 - 但该功能无法扩展到 SecretsManager+ECS。我认为管理秘密和向我的应用程序公开的唯一“安全”方式是编写直接查询 AWS Secrets Manager 的专用应用程序代码。这个结论正确吗?或者我可以信任这个平台吗?

参考:

和反驳:

amazon-ecs docker aws-secrets-manager amazon-eks

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

最大限度地减少Azure中的停机时间

我们今天的Azure应用程序正在经历非常严重的计划外停机,目前为期9小时.我们向Azure支持报告,操作团队正在积极尝试解决问题,我不怀疑.我们设法让我们的应用程序在我们拥有的另一个"测试"托管服务上运行,并重定向我们的CNAME指向实例,以便我们的客户满意,但"主要"托管服务仍然不可用.

我自己的"空中手指"本能是这个问题在我们的数据中心(西欧)中与网络相关,事实上,在服务仪表板为该区域发出红色的那一天晚些时候发出了相应的消息.(我们的应用程序在门户网站中显示为"健康",但是无法通过我们的cloudapp.net URL访问.此外,我们的应用程序中的线程将sql连接异常记录到我们的存储帐户中,因为它无法联系数据库)

但是,非常奇怪的是,我上面提到的"测试"实例也在同一个数据中心,并且没有问题联系数据库,它的外部端点是完全可用的.

我想问一下社区是否有什么我可以做得更好以避免这种停机时间?我遵守了关于每个角色至少有2个角色实例的指导,但我仍然被烧毁了.我应该转向更可靠的数据中心吗?我应该将应用程序部署到多个数据中心吗?我如何管理我的SQL-Azure数据库位于同一数据中心的事实?

任何建设性的指导都会受到赞赏 - 作为一名技术人员,我从来没有一个更令人沮丧的日子能够无所事事来帮助解决问题.

azure

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

"在文件中查找"的替代方案

我已经爱上了"发现-在-文件- isn't"问题的犯规的建议在这里和报告连接,但似乎该问题将不会被固定,直到VS.的"下一个主要版本"

虽然我可以忍受"清理源代码树,重启VS"的问题和解决方法,但我仍然不能相信它不会给我假阴性.

某种形式的"在文件中查找"对于跨源树的积极重构至关重要,因此我正在寻找替代方案.理想情况下是对VS的追求,但我会选择能够支持正则表达式和文件类型过滤器的优秀外部应用程序

我不相信Windows Search(出于类似的错误否定原因).

有什么建议?

visual-studio

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