我正在创建我的web应用程序(WebUI)和webapi (WebApi)。在ASP.Net中,我一直致力于在IIS上创建web应用程序,并在webside中创建WebApi作为web应用程序。在Visual Studio中,附加进程w3wp.exe和我可以调试代码。我现在想达到同样的效果。
现在我有了WebUI (Web应用程序.net核心2.2)和WebApi (web api .net核心2.2)。在IIS中添加新站点(到WebUi调试文件夹的路径)和在创建应用程序中(到WebApi调试文件夹的路径)
我的路由
[Route("api/v1/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
}预期效果:
http://localhost:8100/ -网站
http://localhost:8100/webapi/api/v1/values -端点webapi
网站可以工作,但WebApi不能。我需要同时使用站点和api。当我在Visual Studio中运行Web Api时,web Api工作正常。对于在同一时间调试有什么建议或更好的想法吗?当iis中的应用程序web api导航到发布webapi时,一切工作正常。
发布于 2019-05-29 05:19:15
在RouteConfig.cs中尝试一下。
routes.MapRoute(
name: "Home",
url: "",
defaults: new { controller = "Home", action = "Index" }
);和WebAPiConfig.cs中的api路由。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);另一方面,您可以直接在Api Controller中定义路由,如下所示。
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
[Route("webapi/api/v1/values")]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
}祝好运。
https://stackoverflow.com/questions/56350004
复制相似问题