将服务框架(web api)添加到DNN7模块

时间:2013-10-05 23:34:08

标签: asp.net-web-api dotnetnuke

我正在尝试将Web API集成到DNN7模块中。

控制器&映射器:

namespace MyControllers
{
    public class ExampleController : DnnApiController
        {
            #region "Web Methods"
            [DnnAuthorize()]
            [HttpGet()]
            public HttpResponseMessage HelloWorld()
            {
                try
                {
                    string helloWorld = "Hello World!";
                    return Request.CreateResponse(HttpStatusCode.OK, helloWorld);
                }
                catch (System.Exception ex)
                {
                    //Log to DotNetNuke and reply with Error
                    Exceptions.LogException(ex);
                    return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
                }
            }


    public class RouteMapper : IServiceRouteMapper
        {
            public void RegisterRoutes(IMapRoute mapRouteManager)
            {
                mapRouteManager.MapHttpRoute("MyControllers", "default", "{controller}/{action}", new[] { "MyControllers" });
            }
        }
}

然后我试图从url

访问HelloWorld方法
https://localhost/DesktopModules/MyControllers/API/Example/HelloWorld

并获得

HTTP错误404.0 - 未找到

有什么可以遗漏的建议吗?

1 个答案:

答案 0 :(得分:1)

解决!!!原来,DesktopModules文件夹是IIS中的应用程序,它阻止了WebApi。 所以,如果你得到非描述性的

  

HTTP错误404.0 - 未找到

首先检查IIS。