在AppHarbor上使用Yocto服务器添加,运行EF6我能够写入数据库(我能够将进度记录到主页进入数据库),也可以从中读取,但是当试图去任何需要授权的页面我都会感到害怕
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)
我定义了一个ContextDb并正确命名(因为我可以在登录前从数据库中读取)。我在AppHarbor数据库设置中使用了别名(我的记录器记录到同一个数据库,显示确实正确地注入了连接字符串)。这个应用程序在我的开发机器上完美地工作。
有一点不同的是,ApplicationUserManager设置为使用我的db上下文。我添加了日志语句,证明我实际上是在异常之前完成所有EF查询,并显示该页面即将呈现。我不知道哪个SQL查询导致了问题,但最后一个是:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Title] AS [Title],
[Extent1].[Description] AS [Description],
[Extent1].[CreatedAt] AS [CreatedAt],
[Extent1].[UpdatedAt] AS [UpdatedAt]
FROM [dbo].[Forum] AS [Extent1]
似乎已正确执行。
- 在12/10/2017 11:28:54 PM +00:00执行异步执行 - 在1 ms内完成,结果为:SqlDataReader
关闭连接时间为12/10/2017 11:28:54 PM +00:00
我认为这与LoginManager有关,但到目前为止我还无法确定它在哪里尝试并且无法连接到数据库。
答案 0 :(得分:0)
好的,我找到了问题的解决方案。我很惊讶AppHarbor并没有在这里发布这个(至少我能找到的,根据我看到的症状)这个问题的解决方案是运行: dev命令提示符下的aspnet_regsql.exe。关键是从appharbor显示的连接字符串中复制数据库名称。服务器,用户ID和密码都很容易复制,因为它们有自己的字段。无论如何,我的网站在关闭一周后再次启动并运行。希望如果其他人有这个问题,这将有助于他们。