我已经完成了servicestack文档中的所有步骤,并遵循了Stack溢出的类似帖子的建议,但是每当我尝试访问我的"/api/“路由时,我都会得到以下错误:
Handler for Request not found:
Request.HttpMethod: GET
Request.PathInfo: /api/metadata
Request.QueryString:
Request.RawUrl: /api/api/metadata守则的有关章节:
AppHost:
public class HolidayEventPlannerAppHost : AppHostBase
{
public HolidayEventPlannerAppHost() : base("Holiday Event Planner App Host", typeof(HelloService).Assembly) { }
public override void Configure(Funq.Container container)
{
SetConfig(new HostConfig { HandlerFactoryPath = "api" });
}
}Routeconfig.cs:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("api/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}此外,当我在浏览器的地址栏中键入"localhost:port/api“时,浏览器将被重定向到”localhost:port/api/元数据“,这是我获得错误消息的地方。它不允许我访问“localhost:port/api/元数据”。
发布于 2014-03-06 16:48:13
最终帮助完全消除元数据的人。你需要把:
SetConfig(new HostConfig
{
HandlerFactoryPath = "api",
MetadataRedirectPath = "/"
}); 发布于 2014-04-30 06:33:17
我使用的是ServiceStack 3.9.70,为了使用ServiceStack和MVC WebApi,我不得不这样做:
SetConfig(new EndpointHostConfig
{
ServiceStackHandlerFactoryPath = "sapi",
MetadataRedirectPath = "sapi/metadata"
});这样我就可以将api用于WebAPI,sapi用于ServiceStack。别忘了还需要修改Web.Config,全指令。
发布于 2013-12-13 19:54:41
有一个托管ServiceStack与MVC4的现有模板,您还需要确保您的Web.config为ServiceStack进行了正确的配置,您可以将其与Mvc4 Web.Config进行比较。
有关与MVC集成的更多信息是可在wiki上找到。
https://stackoverflow.com/questions/20572755
复制相似问题