Asp.net 核心 - Web Api 在 Class 图书馆
Asp.net core - Web Api on Class Library
我正在尝试制作 n 层应用程序,其中 Web api 保存在不同的 class 库中。我在另一个 class 库中制作了一个 TestController
控制器 class,我的代码是这样的
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
namespace PkrUni.SMS.Api
{
[ApiController]
[Produces("application/json")]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
public IEnumerable<string> Get()
{
return new string[] { "Chris", "Hadfield" };
}
}
}
现在我的问题是如何在我的主项目上访问这个网站 api。我已经在主项目中添加了对 class 库的引用,但它不起作用。我的 api 不工作。 404 找不到页面 尝试访问 api 时出现错误。
这是我的项目结构。
我做错了什么请帮助我。
尝试在 razor class 库中安装 Microsoft.AspNetCore.Mvc
包。
在 startup.cs 中使用:
services.AddMvc().AddApplicationPart(Assembly.Load(new AssemblyName("PkrUni.SMS.Area.Api")));
参考。
我通过创建 asp.net core2.2 MVC 项目和 razor class 库来测试您的场景,没有任何问题。下面是我的结构:
我正在尝试制作 n 层应用程序,其中 Web api 保存在不同的 class 库中。我在另一个 class 库中制作了一个 TestController
控制器 class,我的代码是这样的
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
namespace PkrUni.SMS.Api
{
[ApiController]
[Produces("application/json")]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
public IEnumerable<string> Get()
{
return new string[] { "Chris", "Hadfield" };
}
}
}
现在我的问题是如何在我的主项目上访问这个网站 api。我已经在主项目中添加了对 class 库的引用,但它不起作用。我的 api 不工作。 404 找不到页面 尝试访问 api 时出现错误。 这是我的项目结构。
我做错了什么请帮助我。
尝试在 razor class 库中安装 Microsoft.AspNetCore.Mvc
包。
在 startup.cs 中使用:
services.AddMvc().AddApplicationPart(Assembly.Load(new AssemblyName("PkrUni.SMS.Area.Api")));
参考
我通过创建 asp.net core2.2 MVC 项目和 razor class 库来测试您的场景,没有任何问题。下面是我的结构: