我们正在开发一个在核心使用SigalR库的服务器应用程序。 当我尝试获取当前服务器上下文时,我在下面收到此错误。有没有人知道这个错误的原因?谢谢。
1)它不是MVC应用程序,它是一个控制台应用程序。
2)我们不使用App_Start或App_Code文件夹。
控制台应用内的启动类。
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
这是我的构造函数,它位于类库中。服务器自行启动。
public ServerBase()
{
serverURI = ConfigurationManager.AppSettings["ServerURI"];
StartServer();
serverContext = GlobalHost.ConnectionManager.GetHubContext<ServerBase>();
}
的ErrorMessage:
两个集线器不得共享相同的名称。 'Core.MessageTransmitter.ServerBase,Core.MessageTransmitter, Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'和 'Core.MessageTransmitter.ServerBase,Core.MessageTransmitter, Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'都共享 名为'ServerBase'。
堆栈跟踪:
在 Microsoft.AspNet.SignalR.Hubs.ReflectedHubDescriptorProvider.BuildHubsCache() 在System.Lazy
1.CreateValue() at System.Lazy
1.LazyInitValue()
在System.Lazy1.get_Value() at Microsoft.AspNet.SignalR.Hubs.ReflectedHubDescriptorProvider.TryGetHub(String hubName, HubDescriptor& descriptor) at Microsoft.AspNet.SignalR.Hubs.DefaultHubManager.<>c__DisplayClass1.<GetHub>b__0(IHubDescriptorProvider p) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable
1 来源,Func`2谓词)at Microsoft.AspNet.SignalR.Hubs.DefaultHubManager.GetHub(String hubName) 在 Microsoft.AspNet.SignalR.Hubs.HubManagerExtensions.EnsureHub(IHubManager hubManager,String hubName,IPerformanceCounter [] counter)at Microsoft.AspNet.SignalR.Infrastructure.ConnectionManager.GetHubContext(字符串 hubName)at Microsoft.AspNet.SignalR.Infrastructure.ConnectionManager.GetHubContextT 在Core.MessageTransmitter.ServerBase..ctor()中 C:\ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.Core \ Core.MessageTransmitter \ ServerBase.cs:行 28在Core.MessageTransmitter.ServerBase..ctor(Logger logger)中 C:\ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.Core \ Core.MessageTransmitter \ ServerBase.cs:行 30在Core.ContextManager.ServerContext.Initialize(String name, 输入messageBroker,String serviceAddress,String metaDataAddress) C:\ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.Core \ Core.Context \ ServerContext.cs:行 22在CallSite.Target(Closure,CallSite,ServerContext,String, 类型,对象,对象)at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid5 [T0,T1,T2,T3,T4](调用点 site,T0 arg0,T1 arg1,T2 arg2,T3 arg3,T4 arg4)at MenuBoard.AppHostConsole.Program.Main(String [] args)in C:\ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.MenuBoard \ MenuBoard.AppHostConsole \的Program.cs:行 29
答案 0 :(得分:0)
问题在于Owin。我们有2个申请。第一个是WCF服务器,第二个是SignalR服务。当我们首先启动SignalR服务时,没有问题。我们就是这样解决了问题的。我认为这些服务器之间存在交叉点。