【问题标题】:the name url does not exist in current context in Signal R hub classSignal R 集线器类的当前上下文中不存在名称 url
【发布时间】:2018-04-09 10:04:47
【问题描述】:

这是我以字符串形式返回 url 的方法,但此方法在 Signal R hub 类中。现在,问题出在 Url.Action 上。在 Signal R hub 类中无法识别此扩展方法。

 private string _GenerateUrl(int? Id)
     {
         var avatarImage = db.Files.SingleOrDefault(s => s.Id == Id);
         if (avatarImage != null)
         {
             return Url.Action("GetFileData", new { fileId = avatarImage.Id });
         }
         else
         {
             return Url.Action("GetFileData", new { fileId = 7 });
         }  
     }

错误信息是:名称 url 在当前上下文中不存在。应该如何解决。请有任何提示。它在普通控制器中工作正常,但现在它在信号 r 集线器类中显示错误。

【问题讨论】:

  • 没有文件的其余部分,这是一个猜测。 Url.Action 助手是 System.Web.Mvc 命名空间的一部分。我猜它不包括在内。最重要的是,根据您的解决方案结构,它可能不会返回正确的 URL。
  • @drneel System.web.mvc 已经存在

标签: asp.net-mvc signalr signalr-hub


【解决方案1】:

您不能在 signalR 类中使用 Url.Action。你需要一个 UrlHelper。 检查这个答案How use UrlHelper in signalR HubClass

【讨论】:

  • 虽然这可能是解决问题的宝贵提示,但答案确实需要比这更多的细节。请edit 提供示例代码来说明您的意思。特别是,不要依赖链接来提供答案的实质,因为链接的资源可能会变得不可用 - 欢迎使用链接,但也请直接在答案中包含要点。或者,考虑将其写为评论。
猜你喜欢
  • 2015-08-30
  • 2013-06-01
  • 1970-01-01
  • 2013-10-02
  • 2014-04-22
  • 2017-06-17
  • 2015-09-11
  • 1970-01-01
相关资源
最近更新 更多