【发布时间】:2017-12-19 13:04:11
【问题描述】:
首先抱歉,如果我在 SO 上错误地问了这个问题。我有一个第三方库 ([Link][1]),其中编写了 Web API 逻辑。我有一个 DNN 自定义模块,我从中显示 PDF 查看器。但是在加载查看器时,我得到了404 异常调用http://dnndev.me/dvapi3/docuvieware3api/init/1。
我不确定问题究竟出自 DNN 还是第三方工具。对此问题的任何帮助将不胜感激。
更新
WebAPI 控制器元数据
namespace GdPicture14.WEB
{
public class DocuVieware3ApiController : System.Web.Http.ApiController
{
public DocuVieware3ApiController();
[System.Web.Http.ActionNameAttribute("init")]
[System.Web.Http.HttpPostAttribute]
public string init([System.Web.Http.FromBodyAttribute] object jsonString);
}
}
RouteMapper.cs
using DotNetNuke.Web.Api;
using GdPicture14.WEB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace DocumentViewer
{
public class RouterMapper : IServiceRouteMapper
{
public void RegisterRoutes(IMapRoute mapRouteManager)
{
mapRouteManager.MapHttpRoute(
"DocumentViewer",
"default",
"{controller}/{action}",
new string[] { "DocumentViewer" });
}
}
}
【问题讨论】:
-
您的控制器没有从 DnnApiController 或任何其他 DNN 助手继承,所以我看不出这个问题是如何特定于 DNN 的。
-
@Mickers:
DocuVieware3ApiController是继承System.Web.Http.ApiController的第三方控制器,我无法编辑/更新该库。是否所有从 DNN 模块调用的 API 都应该继承DnnApiController??
标签: c# dotnetnuke