2013-02-28 2 views
7

я следую образца из вики-страницы SignalR и вот мой Global.asax:System.Web.Routing.RouteCollection не содержит определение для «MapHubs»

<%@ Application Language="C#" %> 

<%@ Import Namespace="System" %> 
<%@ Import Namespace="System.Web.Routing" %> 

<script runat="server"> 

    void Application_Start(object sender, EventArgs e) 
    { 
     // Code that runs on application startup 
     RouteTable.Routes.MapHubs(); 
    } 

Но я получаю:

' System.Web.Routing.RouteCollection 'не содержит определения для «MapHubs» и никакого метода расширения «MapHubs», принимающего первый аргумент типа «System.Web.Routing.RouteCollection», можно найти (вам не хватает директивы using или ссылка на сборку?) \ Global.asax 11

Что я делаю неправильно?

ответ

8

Maphubs - это метод расширения класса RouteCollection в библиотеке SignalR. Вам нужно будет включить ссылки SignalR для вызова MapHubs.

Источник:

https://github.com/SignalR/SignalR/blob/master/src/Microsoft.AspNet.SignalR.SystemWeb/SignalRRouteExtensions.cs

+4

Ах спасибо. Но с исправлением - мне нужна Microsoft.AspNet.SignalR.SystemWeb.dll, а не только Microsoft.AspNet.SignalR.Core.dll – Cynede

+0

Просто чтобы добавить информацию для тех, кто надеется использовать OWIN, просто добавьте 'app.MapSignalR();' to ваше 'public void ConfigureAuth (приложение IAppBuilder)' находится внутри вашего класса 'Startup.Auth.cs'. Убедитесь, что у вас есть самая последняя версия SignalR (2.0.2, на момент написания), добавленная из NuGet. –

Смежные вопросы