2

我正在尝试将 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 - 未找到

关于可能缺少什么的任何建议?

4

1 回答 1

1

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

HTTP 错误 404.0 - 未找到

首先检查 IIS。

于 2013-10-07T05:31:37.940 回答