在运行时在 app_data 文件夹中添加 SQL 服务器 CE 文件
Adding SQL Server CE files in app_data folder at runtime
我正在使用启用了多租户的 Orchard CMS。每个租户在 App_data
文件夹中都有自己的 SQL Server CE 数据库。当应用程序处于 运行 时,我通过将租户数据从其他位置复制到 App_Data
文件夹来创建新租户。
问题是,如果我点击租户,它 .sdf
没有加载,我得到一个错误
The page you are looking doesn't exist
如果我重新启动 IIS,它就会开始工作。我的猜测是,如果我们在 app_data
文件夹中添加任何内容,而应用程序是 运行,则此数据不会加载到 w3wp
进程中。这个问题有解决办法吗?
首先我想说这听起来有点有趣,我们应该说,做事的方式。此外,SQL CE 对于生产来说并不是那么好。
无论如何,我也有一些关于租户创建的问题。检查 cache.dat,其中包含所有租户的列表,可能需要刷新它。我还必须刷新租户才能工作:
// refresh tenant because otherwise it stays in setup mode
var tenant = _tenantService.GetTenants().FirstOrDefault(ss => ss.Name == name);
if (tenant == null) return HttpNotFound();
tenant.State = TenantState.Disabled;
_tenantService.UpdateTenant(tenant);
var tenant2 = _tenantService.GetTenants().FirstOrDefault(ss => ss.Name == name);
if (tenant2 == null) return HttpNotFound();
tenant2.State = TenantState.Running;
_tenantService.UpdateTenant(tenant2);
尽管看起来很迟钝,但它解决了我的问题。
我仍然建议使用 Orchard 的 API 构建租户。祝你好运!
我正在使用启用了多租户的 Orchard CMS。每个租户在 App_data
文件夹中都有自己的 SQL Server CE 数据库。当应用程序处于 运行 时,我通过将租户数据从其他位置复制到 App_Data
文件夹来创建新租户。
问题是,如果我点击租户,它 .sdf
没有加载,我得到一个错误
The page you are looking doesn't exist
如果我重新启动 IIS,它就会开始工作。我的猜测是,如果我们在 app_data
文件夹中添加任何内容,而应用程序是 运行,则此数据不会加载到 w3wp
进程中。这个问题有解决办法吗?
首先我想说这听起来有点有趣,我们应该说,做事的方式。此外,SQL CE 对于生产来说并不是那么好。
无论如何,我也有一些关于租户创建的问题。检查 cache.dat,其中包含所有租户的列表,可能需要刷新它。我还必须刷新租户才能工作:
// refresh tenant because otherwise it stays in setup mode
var tenant = _tenantService.GetTenants().FirstOrDefault(ss => ss.Name == name);
if (tenant == null) return HttpNotFound();
tenant.State = TenantState.Disabled;
_tenantService.UpdateTenant(tenant);
var tenant2 = _tenantService.GetTenants().FirstOrDefault(ss => ss.Name == name);
if (tenant2 == null) return HttpNotFound();
tenant2.State = TenantState.Running;
_tenantService.UpdateTenant(tenant2);
尽管看起来很迟钝,但它解决了我的问题。
我仍然建议使用 Orchard 的 API 构建租户。祝你好运!