我正在使用asp.net mvc 5.我正在做以下教程, http://venkatbaggu.com/signalr-database-update-notifications-asp-net-mvc-usiing-sql-dependency/
但是在Global.sax文件中它表示" WebApiConfig在当前上下文中不存在"。为什么会这样?
这里有一些代码
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configure(WebApiConfig.Register); //this is where error shows
//Start SqlDependency with application initialization
SqlDependency.Start(connString);
}
答案 0 :(得分:13)
您的App_Start文件夹中是否有WebApiConfig.cs文件? 如果你看一下教程在github中引用的源代码,那么WebApiConfig文件如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace SignalRDbUpdates
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
查看github存储库上的App_Start文件夹: https://github.com/venkatbaggu/signalrdatabasenotifications/tree/master/SignalRDbUpdates/App_Start
答案 1 :(得分:0)
在编译时或调试时出现此错误时,目前尚不清楚?
如果在编译期间发生,则检查WebApiConfig.cs
文件是否存在。
如果在调试时发生这种情况,那么您需要检查是否对此文件进行了一些更改,因为默认实现应该没有问题。
问题可能出在下一行?
SqlDependency.Start(connString);
检查连接字符串是否正确。
修改强> 我尝试下载并运行该项目,首先我收到了这个错误:
由于以下原因,进入中断模式失败:源文件 ' E:\ BlogDemos \ SignalRDbUpdates \ SignalRDbUpdates \的Global.asax.cs'不 不属于正在调试的项目
这很奇怪,因为我没有" E"开车。但在将Managaed Pipilene Mode
更改为Classic
并返回Integrated
(默认值)并构建项目后,它开始正常运行。
答案 2 :(得分:0)
对我来说,我移动了代码文件夹,出于某种原因
WebApiConfig.cs
AuthConfig.cs
Filter.cs
BundleConfig.cs
已被排除在项目之外,将其重新包括在内并再次发挥作用。 由于文件夹没有扩展,我从未意识到他们被排除在外。