我们正在从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?
我必须更新存储为 Azure blob 的大文件。此更新将需要几秒钟,我需要确保没有其他客户端获得部分更新的文件。
如https://docs.microsoft.com/en-us/azure/storage/common/storage-concurrency 中所述,锁定文件进行写入应该很容易,但据我所知,其他客户端仍然可以读取文件。我可以使用读锁,但这意味着只有一个客户端可以读取文件,这不是我想要的。
根据防止 azure blob 在创建时被其他服务访问,似乎至少会在上传结束时“提交”新文件,但我找不到更新现有文件时会发生什么的信息。
所以,问题是:在更新(替换)操作期间其他客户端会读取什么?
我正在尝试在 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)