Я прочитал очень полезную статью из блога Майкла МакКенны о создании мультитенантного приложения, но у меня есть пара проблем. Первый в классе TenantMiddleware как Constants.HttpContextTenantKey не определен, вероятно, из-за какого-то недостающего кода, тем временем я установил постоянную строку.
Основная проблема заключается в том, что я хотел бы передать массив tenants в классе InMemoryTenantStore при вызове службы при запуске. Я изменил InMemoryTenantStore class
public class InMemoryTenantStore : ITenantStore<Tenant>
{
private readonly Tenant[] _tenants;
public InMemoryTenantStore(Tenant[] tenants)
{
_tenants = tenants;
}
, но я не представляю, как передать массив в вызывающей службе. Я думаю, мне нужно настроить этот код
public TenantBuilder<T> WithStore<V>(ServiceLifetime lifetime = ServiceLifetime.Transient) where V : class, ITenantStore<T>
{
_services.Add(ServiceDescriptor.Describe(typeof(ITenantStore<T>), typeof(V), lifetime));
return this;
}
Но я не могу найти никакого примера по этому поводу и, к сожалению, я не могу добраться до автора блога.