小编Chr*_*jen的帖子

如何在运行时传递参数?

我们正在从StructureMap迁移到Lamar,但找不到在运行时传递参数的“ Lamar版本”。

我们有一个需要字符串参数(伪代码)的类:

public class MyRepository {
  public MyRepository(string accountId) {}
}
Run Code Online (Sandbox Code Playgroud)

…还有一家工厂

public class MyRepoFactory(Container container) {
  public MyRepository GetRepositoryForAccount(string accountId) => 
     container
        // With() is not available in Lamar?
        .With("accountId").EqualTo(accountId)
        .GetInstance<IMyRepository>();
}
Run Code Online (Sandbox Code Playgroud)

实际上,还有其他依赖项。

怎么说Lamar GetInstance()可以IMyRepository使用值xy作为名为的构造函数参数accountId

c# lamar

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

在写入期间锁定 Azure blob

我必须更新存储为 Azure blob 的大文件。此更新将需要几秒钟,我需要确保没有其他客户端获得部分更新的文件。

https://docs.microsoft.com/en-us/azure/storage/common/storage-concurrency 中所述,锁定文件进行写入应该很容易,但据我所知,其他客户端仍然可以读取文件。我可以使用读锁,但这意味着只有一个客户端可以读取文件,这不是我想要的。

根据防止 azure blob 在创建时被其他服务访问,似乎至少会在上传结束时“提交”新文件,但我找不到更新现有文件时会发生什么的信息。

所以,问题是:在更新(替换)操作期间其他客户端会读取什么?

  • 他们会在提交新数据之前读取旧文件还是
  • 他们会读取部分更新的文件内容吗?

c# azure azure-blob-storage

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

如何禁用 AKS LoadBalancer 的端口探测?

我正在尝试在 Azure AKS 中部署 ftp 服务器映像。为了向公众公开服务器,我添加了一个 LoadBalancer 类型的服务。

apiVersion: v1
kind: Service
metadata:
  name: test-import-ftp
  namespace: staging
spec:
  loadBalancerIP: 168.63.x.x
  type: LoadBalancer
  ports:
  - port: 21
    name: ftp-control
    targetPort: 21
  - port: 50000
    name: ftp-data-0
  - port: 50001
    name: ftp-data-1
  - port: 50002
    name: ftp-data-2
  - port: 50003
    name: ftp-data-3
  - port: 50004
    name: ftp-data-4
  - port: 50005
    name: ftp-data-5
  - port: 50006
    name: ftp-data-6
  - port: 50007
    name: ftp-data-7
  - port: 50008
    name: ftp-data-8
  - port: 50009
    name: ftp-data-9 …
Run Code Online (Sandbox Code Playgroud)

azure kubernetes azure-load-balancer azure-aks

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