我试图为我的网站创建一个聊天室(ASP.NET C#)。最初,我选择 ASP.NET网站来开发我的网站,而不是 ASP.NET Web应用程序。
在我尝试应用SignalR之前,一切似乎都很好。
我有必要的参考资料,.dll
也可以通过 NuGet 在以下路径下载(例如)
D:\CL\CL\packages\Microsoft.Owin.2.1.0\lib\net45\Microsoft.Owin.dll
现在问题是 Startup.cs (如下所示)
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(CL.Startup))]
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
由于我的网站创建为 ASP.NET网站,因此它没有名称空间。 因此,CL.Startup部分会出现以下错误。
System.EntryPointNotFoundException: The following errors occurred while attempting to load the app.
- The OwinStartupAttribute.FriendlyName value '' does not match the given value 'CL.Startup' in Assembly 'App_Code.g9dw5cpb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
- The given type or method 'CL(1).Startup' was not found. Try specifying the Assembly.
To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.
To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.
ASP.NET网站是否有其他方法可以应用SignalR? 或者是否有其他建议的解决方案为我的网站实施聊天室?
thx for reading。
答案 0 :(得分:0)
我正在查看一些较旧的信号器项目,并且我认为您缺少OwinStartupAttribute类和项目命名空间。请在第一次创建项目时调用项目名称,并将属性添加到程序集中。
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(CL.Startup))]
namespace CL
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
此OwinStartupAttribute类
用于标记程序集中的哪个类应该用于自动启动。