首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未在生产前启动的SignalR SQL背板

问未在生产前启动的SignalR SQL背板
EN

Stack Overflow用户
提问于 2015-07-18 07:04:13
回答 1查看 546关注 0票数 0

三天后,这个问题使我陷入了困境。

SignalR没有在我的预测试环境中创建它的后台SQL模式和表,其中包含单个SQL server +负载平衡的web服务器。

我查过了

  • WebSockets安装在IIS中。
  • DB access允许创建表和架构。
  • .Net 4.5已安装并正在使用
  • 安装了推荐的更新
  • 列出的这里步骤已经完成(除了从Visual执行部署-我使用MSBUILD打包,然后使用WebDeploy)

我支持过SignalR追踪。只有我的跟踪条目被写入-没有从SignalR。

如果我在发布模式下构建,一切都可以在我的开发环境中工作(包括跟踪)。

以下是我的跟踪增强启动过程

代码语言:javascript
复制
//Step 1: Check tracing works
var trace = GlobalHost.TraceManager["TestTrace"];
trace.TraceInformation("Preparing to start SignalR");

//Step 2: Check DB access rights
var connectionString = ConfigurationManager.ConnectionStrings["SignalR"].ConnectionString;
var schema = Guid.NewGuid().ToString("N");
using (var sqlConn = new System.Data.SqlClient.SqlConnection(connectionString))
{
    using (var sqlCmd = new System.Data.SqlClient.SqlCommand())
    {
        sqlConn.Open();
        sqlCmd.Connection = sqlConn;
        sqlCmd.CommandText = String.Format("CREATE SCHEMA [{0}]", schema);
        sqlCmd.ExecuteNonQuery();
        sqlCmd.CommandText = String.Format("SELECT '{0}' AS [Value] INTO [{1}].[ConnectionString]", connectionString, schema);
        sqlCmd.ExecuteNonQuery();
    }
}

//Step 3: Initialise SignalR
GlobalHost.DependencyResolver.UseSqlServer(connectionString);
app.MapSignalR(); //This is meant to trigger lots of logging.

//Step 4: Confirm we've successfully passed SignalR start-up
trace.TraceInformation("Finished starting SignalR");

任何帮助都会很好。干杯。

EN

回答 1

Stack Overflow用户

发布于 2015-07-18 12:05:50

问题不是服务器端的SignalR,而是客户端JavaScript的启动例程在连接到SignalR集线器之前中止。

在建立第一个连接之前,SignalR似乎不会开始日志记录。

由于某些原因(尚未确定),SignalR启动例程正在开发环境中完成,并在生产前代码中中止。一个可能的原因是使用压缩JavaScript时启动事件的顺序不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31488731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档