dotnetnuke - DnnApiController 无法找到 "Path x"的 Controller 。在命名空间 : "Namespace y" 中搜索

标签 dotnetnuke dotnetnuke-7

我正在尝试在 DNN 中创建一个简单的 web-api,

这是我的代码: 1st Register RouteMapper(我设置了一个断点,它被调用没有问题)

namespace Commission7.Controllers
{
   public class RouteMapper : IServiceRouteMapper
   {
       public void RegisterRoutes(IMapRoute mapRouteManager)
       {
          mapRouteManager.MapHttpRoute("Commission7", "default", "{controller}/{action}/{id}", new { id = RouteParameter.Optional }, new[] { "Commission7.Controllers" });
       }
   }
}

第二个 Controller :

namespace Commission7.Controllers
{
   [AllowAnonymous]
   class SubmitController : DnnApiController
   {
       private readonly Commision7Context _dbContext = new Commision7Context();

       [AllowAnonymous]
       [HttpGet]
       public bool SaveVisits()
       {
          return true;
       }
    }
}

当我通过 Ajax 或直接从浏览器中调用它时:

http://localhost/dnn/DesktopModules/Commission7/api/Submit/SaveVisits

我明白了:

Unable to locate a controller for http://localhost/dnn/DesktopModules/Commission7/api/Submit/SaveVisits.  Searched in namespaces: Commission7.Controllers.

请注意,Module 文件夹名为 Commission 7,它位于 DesktopModules 文件夹中。谁能帮我这个?有没有我忘记的配置?

最佳答案

如果其他人遇到此问题,还要检查您是否具有该属性...

optimizeCompilations="true"

...在您的 web.config 文件中设置 <compilation>标签。我一直收到错误...

dnn unable to locate a controller XXX searched in namespaces XXX

...直到我将其设置为 false.. 然后错误消失,因此我可以将其设置回 true。

关于dotnetnuke - DnnApiController 无法找到 "Path x"的 Controller 。在命名空间 : "Namespace y" 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35100034/

相关文章:

c# - DNN Web API 服务器错误

DotNetNuke 中的 JQuery + JCrop 问题

asp.net - 在 DNN7 中获取 UserInfo 很热门 - GetCurrentUserInfo 已弃用

asp.net - 垃圾邮件用户请求配置文件页面创建填充事件日志的错误

css - OpenContent (dotnetnuke) 中的过滤器设置不起作用

javascript - 将 jquery include 添加到 DotNetNuke 4.8 皮肤不会执行任何操作

DotNetNuke 允许打印/最小化和最大化

licensing - DotNetNuke 5.6.2 - 社区版用户可以使用 DNNRadMenu 吗?

dotnetnuke - 在 DotNetNuke 7 中对除门户管理员或主机用户之外的所有人禁用网站?

dotnetnuke - DnnModuleAuthorize 属性在 Web API 中始终返回未经授权