我只是想设置ChatJs与 ASP.NET 4.0。我阅读了其文档中提供的所有步骤。但我无法安装到我的应用程序。
这里是我用 4.0 框架构建的 Web 应用程序。所以这个 chatjs 可能支持 4.5 的更高版本。有谁知道我如何使用 sql server 2008 和 asp.net 4.0 安装这个聊天应用程序。 我成功地将所有基本文件(如 chatjs 和 signalR)设置到我的网络应用程序中,但在startup.cs文件中出现了一些编译时错误。
这是我的startup.cs文件代码:
using ChatJs.Admin;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Startup))]
namespace ChatJs.Admin
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
this.ConfigureAuth(app);
app.MapSignalR();
}
}
}
这是我的编译时错误:
Error 1 'ChatJs.Admin.Startup' does not contain a definition for 'ConfigureAuth' and no extension method 'ConfigureAuth' accepting a first argument of type 'ChatJs.Admin.Startup' could be found (are you missing a using directive or an assembly reference?) F:\EasyWeb\App_Code\Startup.cs 11 18 F:\EasyWeb\
Error 2 'Owin.IAppBuilder' does not contain a definition for 'MapSignalR' and no extension method 'MapSignalR' accepting a first argument of type 'Owin.IAppBuilder' could be found (are you missing a using directive or an assembly reference?) F:\EasyWeb\App_Code\Startup.cs 12 17 F:\EasyWeb\
请帮助我..
最佳答案
关于缺少ConfigureAuth
方法:
您正在引用此调用:
https://github.com/ChatJS/ChatJs-Demo/blob/master/ChatJs.Admin/Startup.cs#L17
它明显丢失的原因是因为 Microsoft 确定放置所有 ASP.NET 启动代码的最佳位置是在 App_Start 文件夹中,因此那里有一个 Startup 的部分类。配置验证方法在这里:
https://github.com/ChatJS/ChatJs-Demo/blob/master/ChatJs.Admin/App_Start/Startup.Auth.cs#L11
关于MapSignalR方法的缺失:
MapSignalR
方法是在 Microsoft.AspNet.SignalR.Core
程序集中的 OwinExtensions
类中定义的。这是特定于 SignalR 的,并且只能在 .NET 4.5 上运行。
在 .NET Framework 4.0 中运行 ChatJS 2.0
ChatJS 2.0 将在 .NET 4.0 上运行,但前提是您引用 SignalR 1 而不是 2。ChatJS 没有理由使用 SignalR 2,因为它是最新版本。请注意,Microsoft 将 SignalR 的初始化方式从版本 1 更改为版本 2,因此本教程的 SignalR 部分将不适用。
关于signalr - 如何使用 ASP.NET 4.0 设置 ChatJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23538956/