在运行时将SQL Server CE文件添加到app_data文件夹中
本文关键字:app data 文件夹 添加 文件 运行时 SQL Server CE | 更新日期: 2023-09-27 17:59:09
我使用的是启用多租户的Orchard CMS。每个租户在App_data
文件夹中都有自己的SQL Server CE数据库。在应用程序运行时,我通过将租户数据从其他位置复制到App_Data
文件夹来创建新租户。
问题是,如果我点击租户,它的.sdf
没有加载,我会得到一个错误
您正在查找的页面不存在
如果我重新启动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来构建租户。祝你好运