首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IIS上配置.net核心web应用程序和webapi

在IIS上配置.net核心web应用程序和webapi
EN

Stack Overflow用户
提问于 2019-05-29 05:01:50
回答 1查看 514关注 0票数 0

我正在创建我的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调试文件夹的路径)

我的路由

代码语言:javascript
复制
[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时,一切工作正常。

EN

回答 1

Stack Overflow用户

发布于 2019-05-29 05:19:15

在RouteConfig.cs中尝试一下。

代码语言:javascript
复制
routes.MapRoute(
    name: "Home",
    url: "",
    defaults: new { controller = "Home", action = "Index" }
);

和WebAPiConfig.cs中的api路由。

代码语言:javascript
复制
routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

另一方面,您可以直接在Api Controller中定义路由,如下所示。

代码语言:javascript
复制
[ApiController]
public class ValuesController : ControllerBase
{
    // GET api/values
    [HttpGet]
    [Route("webapi/api/v1/values")]
    public ActionResult<IEnumerable<string>> Get()
    {
        return new string[] { "value1", "value2" };
    }
}

祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56350004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档