servicestack,Asp.net Mvc,Asp.net Mvc 4,servicestack" /> servicestack,Asp.net Mvc,Asp.net Mvc 4,servicestack" />

Asp.net mvc MVC4上的服务堆栈

Asp.net mvc MVC4上的服务堆栈,asp.net-mvc,asp.net-mvc-4,servicestack,Asp.net Mvc,Asp.net Mvc 4,servicestack,我只是想在mvc4项目下运行。ServiceStack.Host.Mvcnuget包与MVC4.0一起工作吗?我安装了它并添加了routes.IgnoreRoute(“api/{*pathInfo}”)到路由配置,但在我转到时找不到路由 /api/metadata 我得到了一个错误: 未找到与请求URI匹配的HTTP资源 '' 找到了解决办法。每当我们创建新的asp.NETMVC4项目时,它都会附带asp.NETWebAPI。还有路径api/。我不需要两者同时使用,所以只需使用nuget pac

我只是想在mvc4项目下运行。
ServiceStack.Host.Mvc
nuget包与MVC4.0一起工作吗?我安装了它并添加了
routes.IgnoreRoute(“api/{*pathInfo}”)到路由配置,但在我转到时找不到路由

/api/metadata

我得到了一个错误:

未找到与请求URI匹配的HTTP资源 ''


找到了解决办法。每当我们创建新的asp.NETMVC4项目时,它都会附带asp.NETWebAPI。还有路径api/。我不需要两者同时使用,所以只需使用nuget package manager删除这些模块,它就可以像任何东西一样工作

如果你还困在什么地方,请告诉我。由于asp.net mvc4正在为我工作。

在安装时的页面中显示了使用MVC安装ServiceStack所需的说明,我们添加了一个,因为它与冲突的WepApi捆绑在一起

For MVC4 applications you also need to unregister WebApi, by commenting out this line:

    //WebApiConfig.Register(GlobalConfiguration.Configuration);
我们也不喜欢为用户提供手动安装说明,但不幸的是,这是目前我们所能做的最好的

ServiceStack文档是一个社区wiki 如果您觉得其中缺少一些内容,请随意添加,因为它们是由ServiceStack社区维护并用于ServiceStack社区的社区wiki文档

向aspnetwebstack团队询问禁用WebApi的更简单方法 我们已经向aspnetwebstack团队提出请求,如果他们能够提供,请随时通过评论功能请求来表示您对该功能的支持

完整的README.txt说明 为了使自述文件更易于搜索,我将在此处重复这些内容:


在ASP.NET MVC中托管与在任何ASP.NET框架中托管非常相似,即ServiceStack AppHost在您的
Global.asax.cs
(或WebActivator)中启动时仍需要初始化,例如:

必须通过将以下行添加到Global.asax中的mvcapapplication.registerOutes(RouteCollection)来注册ServiceStacks“/api”路径:

routes.IgnoreRoute("api/{*pathInfo}"); 
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); //Prevent exceptions for favicon
将它们放在方法的当前条目之前

对于MVC4应用程序,您还需要注销WebApi,方法是注释掉以下行:

    //WebApiConfig.Register(GlobalConfiguration.Configuration);
要启用迷你探查器,请在Global.asax.cs中的MVCAPApplication中添加以下行:

protected void Application_BeginRequest(object src, EventArgs e)
{
    if (Request.IsLocal)
        ServiceStack.MiniProfiler.Profiler.Start();
}

protected void Application_EndRequest(object src, EventArgs e)
{
    ServiceStack.MiniProfiler.Profiler.Stop();
}
有关MiniProfiler的更多信息,请参阅的v3.09

元数据页面和包含的服务的URL:

  • /api/元数据-自动生成的元数据页
  • /api/hello-简单hello World服务见:
  • /api/todos-简单REST服务请参阅:
  • /default.htm-Backbone.js TODO应用程序在/api/todos处与TODO REST服务对话

我使用新的服务堆栈,我也使用MVC4应用程序,答案@mythz是正确的。 要不是

放置在AppStart/RouteConfig.cs中


我的应用程序运行良好:D

我也遇到了同样的问题。在chrome控制台中,由于安全问题,它不允许加载javascript。我不知道为什么?如果您的问题已经解决,请接受答案,如果问题仍然存在,请让我们知道详细信息。评论这句话:“WebApiConfig.Register(GlobalConfiguration.Configuration);”来自Global.asax.cs的“应该也这样做。我在这个垃圾上浪费了大约3个小时。有人应该更新servicestack文档。@tom.dietrich请查看下面我的答案。说明位于ServiceStack.Host.Mvc NuGet包的Readme.txt中。任何人都可以更新ServiceStack的wiki,您可以在aspnetwebstack项目站点上添加注释以简化此操作,谢谢。@mythz我已经将此信息添加到wiki页面。感谢您的支持。我在一些nuget软件包上看到了安装后弹出的readme.txt。在mvc包中实现这一点可能是有益的。我甚至都不知道readme.txt,我只是按照维基上的并排说明进行操作。
protected void Application_BeginRequest(object src, EventArgs e)
{
    if (Request.IsLocal)
        ServiceStack.MiniProfiler.Profiler.Start();
}

protected void Application_EndRequest(object src, EventArgs e)
{
    ServiceStack.MiniProfiler.Profiler.Stop();
}
routes.IgnoreRoute("api/{*pathInfo}");
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); //Prevent exceptions for favicon