Я создал проект Asp.Net MVC 5, а затем использовал NuGet для добавления hottowl (включая Breeze). У меня есть следующий контроллер.
[BreezeController]
public class BreezeController : ApiController
{
readonly EFContextProvider<ApplicationDbContext> _contextProvider = new EFContextProvider<ApplicationDbContext>();
[HttpGet]
public string Metadata()
{
return _contextProvider.Metadata();
}
[HttpGet]
public IQueryable<Event> Events()
{
return _contextProvider.Context.Events;
}
}
И следующий код существует в файле BreezeWebApiConfig.cs. Однако я всегда получал ошибку 404 при попытке доступа к http://localhost:49890/Breeze/Events
. Я что-то пропустил? Или следующая маршрутизация бриза не работает?
using System.Web.Http;
[assembly: WebActivator.PreApplicationStartMethod(
typeof(ST13a.App_Start.BreezeWebApiConfig), "RegisterBreezePreStart")]
namespace ST13a.App_Start {
///<summary>
/// Inserts the Breeze Web API controller route at the front of all Web API routes
///</summary>
///<remarks>
/// This class is discovered and run during startup; see
/// http://blogs.msdn.com/b/davidebb/archive/2010/10/11/light-up-your-nupacks-with-startup-code-and-webactivator.aspx
///</remarks>
public static class BreezeWebApiConfig {
public static void RegisterBreezePreStart() {
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BreezeApi",
routeTemplate: "breeze/{controller}/{action}"
);
}
}
}