我有一个Actor,当收到来自WebAPI项目的请求时,Actor使用EntityFramework6查询表。
using (var context = new MetadataContext())
{
var userStorageAccountId = context.Set<UsersToStorageAccounts>()
.Find(userId).StorageAccountId;
}数据库是使用“附加迁移”成功创建的。“更新-数据库”命令,并具有以下连接字符串:
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=C:\Users\xxxx\Metadata.mdf;Connect Timeout=30;Initial Catalog=Metadata;Integrated Security=True;"当我运行fabric服务并且参与者试图访问上下文时,我会得到以下异常:
在建立到Server的连接时发生了与网络相关的或特定于实例的错误.找不到或无法访问服务器。验证实例名是否正确,以及Server是否配置为允许远程连接。(提供程序: SQL网络接口,错误: 50 -本地数据库运行时错误发生。无法创建自动实例。有关错误详细信息,请参阅Windows应用程序事件日志。)
事件查看器错误是:
无法获得本地应用程序数据路径。很可能没有加载用户配置文件。如果在IIS下执行LocalDB,请确保为当前用户启用了配置文件加载。
我寻找了一种加载用户配置文件的方法,但我只找到了IIS的解决方案。
(请帮助:)
发布于 2016-07-31 09:38:15
当服务结构在另一个用户下运行时,您需要共享数据库并授予NETWORK SERVICE权限:
NETWORK SERVICE本地帐户,并在用户映射中将其添加为dbo (dbo.dbowner)到数据库中这里有一个添加到我的项目中的脚本,用您的db的名称更改数据库名:
sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
sqllocaldb share mssqllocaldb sharedlocal
sqllocaldb stop MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
"c:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE" -S "(localdb)\.\sharedlocal" -d "databasename" -Q"create login [nt authority\network service] FROM windows with DEFAULT_DATABASE=databasename;use databasename;exec sp_addrolemember 'db_owner', 'nt authority\network service';"发布于 2016-04-06 12:56:41
关于服务结构中的IIS,我认为您不能在IIS中承载服务fabric ASP.NET应用程序。这就是为什么当您创建无状态ASP.NET SF项目时,默认宿主是Owin。
https://stackoverflow.com/questions/36401991
复制相似问题