我正在尝试将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 - 未找到
有什么可以遗漏的建议吗?
答案 0 :(得分:1)
解决!!!原来,DesktopModules文件夹是IIS中的应用程序,它阻止了WebApi。 所以,如果你得到非描述性的
HTTP错误404.0 - 未找到
首先检查IIS。