问题描述
我正在使用C#、. NET Framework 4.6.1,MVC 5.2.7.0和SignalR 2.2.2构建我的第一个SignalR Web应用程序。在我们公司的内部网上。该应用程序在使用IIS Express的本地计算机上运行良好,但是当我将应用程序移至我们的远程测试服务器(Windows 2012 R2,IIS 8.5)时,客户端会成功协商,但在启动启动请求时会无限期挂起。我在jquery.signalR-2.2.2.js中看到它在testapp / signalr / negotiate?clientProtocol = 1.5&etc上执行GET请求。此请求成功,并且我们已订阅中心,但是当它到达testapp / signalr / start?transport = serverSentEvent&clientProtocol&etc。时,它将无限期挂起,并且启动请求永远不会成功。我的脚本已打开我的日志记录,但是从此步骤中看不到任何特定的错误。我从其他帖子中看到他们收到500或404,但是在我逐步查看代码时看不到任何有用的信息。
要构建此应用程序,我以该示例(https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr)为基准,但我从其他帖子中进行了一些细微调整,以使MVC版本正常工作。
@section scripts{
<script src="~/Scripts/jquery.signalR-2.2.2.js"></script>
<script src="~/signalr/hubs"></script>
<script src="~/Scripts/MyUpdaterScript.js"></script>
}
在我的App_Start / Startup.cs中,我有:
[assembly: OwinStartup(typeof(TestApp.App_Start.Startup))]
namespace TestApp.Start
{
public class Startup
{
app.MapSignalR();
}
}
最重要的是,我将StockTicker示例逐字地部署到了远程测试服务器上,并且可以正常工作...启动请求成功,但我对为什么感到困惑。我在StockTicker示例和IIS上的MVC应用程序中都检查了应用程序设置,它们都是相同的。我确保将ExtensionlessUrlHandler选项全部启用。在IIS中设置应用程序的方式如下:
--Start Page
--REMOTETESTSERVER
--Application Pools
--Sites
--Default Web Site
--Test Web Site
--testapp (*this is my MVC web app)
--stocktickerapp (*this is the stock ticker example)
我在股票交易者示例和我的testapp上都通过jquery.signalR-2.2.2.js进行了调试,希望看看代码执行的位置是否存在明显差异,但没有运气。我想知道这个问题是否与常规股票Web应用程序和我的测试应用程序MVC有关?也许我错过了两者之间的基本概念。你们以前有没有经历过?
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)