我在 Azure 上有一个虚拟机。我的服务器是 Ubuntu Server 12.04。我的目标是在它上面使用 SignalR 自托管。为此,我在 ubuntu 服务器上安装了 Mono Develop 并编写了示例代码。 (Microsoft Tutorial)对于防火墙,我在 Ubuntu 上禁用了防火墙并在 Azure 虚拟机中添加了一个端点 1453*。
我将所有引用添加到我的项目并构建它。一切正常项目正在运行并监听端口 1453。但是当我从我的本地主机(不在 ubuntu 中)调用 signalr 时,我得到了一些错误。我拍了一张快照错误:
我的代码有什么问题?还是我忘记了一些引用资料?任何帮助,将不胜感激。谢谢。
[更新] 我将该包从 Nuget 复制到 Mono 安装包 Microsoft.AspNet.SignalR.SelfHost 安装包 Microsoft.Owin.Cors
最佳答案
终于,我找到了!问题是我错过了在 Mono 上向我的项目添加一些 dll。明确的方法是将在本地 Windows 中运行的项目复制到 Ubuntu Server。在 Mono 中打开一个新项目,复制代码并添加所有引用。记得使用framework 4.5,添加4.5版本的引用。
您应该添加的引用资料:
- 系统.Web.Cors
- Microsoft.AspNet.Signalr.Core
- 微软.Owin
- Microsoft.Owin.Cors
- Microsoft.Owin.Diagnostics
- Microsoft.Owin.Host.HttpListener
- Microsoft.Owin.Hosting
- Microsoft.Owin.Security
- Newtonsfot.Json
- Owin.dll
- 微软.Csharp
- 系统核心
- 系统数据
- System.Data.SetExtensions
- 系统.xml
- 系统.Xml.Linq
关于c# - Ubuntu 服务器上的 SignalR 自托管错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22982099/