Asp.net mvc 3 sitecore中的asp.net web api

Asp.net mvc 3 sitecore中的asp.net web api,asp.net-mvc-3,asp.net-web-api,sitecore,Asp.net Mvc 3,Asp.net Web Api,Sitecore,我想使用ASP.NETWebAPIhttp://asp.net/Webapi 在sitecore中。虽然我添加了 在web.config中。提交必要的组件。但是,我还是打不通。。 我正在使用web应用程序项目。我在web应用程序项目中做了几个示例,它们工作得很好。但是,与sitecore的集成给我带来了困难 有什么意见吗 谢谢这可能是Sitecore是一个聪明人,打断了您尝试在内容树中查找URL的请求 如果知道要调用的URL或其部分路径,可以将它们添加到配置中的IgnoreUrlPrefixe

我想使用ASP.NETWebAPIhttp://asp.net/Webapi 在sitecore中。虽然我添加了

在web.config中。提交必要的组件。但是,我还是打不通。。 我正在使用web应用程序项目。我在web应用程序项目中做了几个示例,它们工作得很好。但是,与sitecore的集成给我带来了困难

有什么意见吗


谢谢

这可能是Sitecore是一个聪明人,打断了您尝试在内容树中查找URL的请求

如果知道要调用的URL或其部分路径,可以将它们添加到配置中的IgnoreUrlPrefixes设置中

请看这里的小帖子:


这可能是因为Sitecore是个聪明人,会打断您尝试在内容树中查找URL的请求

如果知道要调用的URL或其部分路径,可以将它们添加到配置中的IgnoreUrlPrefixes设置中

请看这里的小帖子:


如果您正在创建webapi路由,还可以在RequestPipeline中执行一个步骤,如果它找到与当前URL匹配的路由,将中止该管道

public override void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args)
    {
        RouteData routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(args.Context));

        if (routeData != null)
        {
            HttpContext.Current.RemapHandler(routeData.RouteHandler.GetHttpHandler(HttpContext.Current.Request.RequestContext));
            args.AbortPipeline();
        }
    }

这样,您就可以在解析数据库和站点后立即设置它,这样您就可以使用Sitecore.Context来处理数据库访问等。

如果您正在创建webapi路由,您还可以在RequestPipeline中执行一个步骤,如果它找到与当前URL匹配的路由,将中止管道

public override void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args)
    {
        RouteData routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(args.Context));

        if (routeData != null)
        {
            HttpContext.Current.RemapHandler(routeData.RouteHandler.GetHttpHandler(HttpContext.Current.Request.RequestContext));
            args.AbortPipeline();
        }
    }
这样,您就可以在解析数据库和站点之后设置它,这样您就可以使用Sitecore.Context来处理数据库访问等