gpt4 book ai didi

c# - 配置路由到api到子文件夹

转载 作者:行者123 更新时间:2023-11-30 15:30:33 25 4
gpt4 key购买 nike

我正在使用 MVC 4 开发一个 webapi。我对路由器有疑问。如何路由到我网站下的子文件夹。例如:

www.site.com/Service

我的 WebApi 应用程序位于服务文件夹中。我的主页工作正常,但找不到 API。

这是我的默认路线:

        config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

我要打电话

www.site.com/Service/api/{controller}/{id}

有办法吗?

[编辑]我将服务区域添加到 Ares 文件夹中,因为在 WebApi MVC 4 的模板中已经存在一个 HelpPage 区域。在此文件夹中,我添加了 Controller 。

这里是服务区类

public class ServiceAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Service";
}
}

public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Service_default",
"Service/api/{controller}/{id}",
new { id = UrlParameter.Optional }
);
}
}

我不知道这是否有帮助,我的网站 www.site.com 只是一个网站,我在我的 iis 上添加并将此文件夹服务转换为应用程序。[/编辑]

最佳答案

您需要像下面这样创建您自己的 AreaRegistration 才能使其正常工作。

 public class ServiceAreaRegistration : AreaRegistration
{
public override string AreaName
{
get{ return "Service";}
}

public override void RegisterArea(AreaRegistrationContext context)
{
context.Routes.MapHttpRoute(
name: "ServiceDefaultApi",
routeTemplate: "Service/api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}

您还需要确保在 Application_Start()

中有以下代码
AreaRegistration.RegisterAllAreas();

更新:您的文件夹结构应如下所示:

enter image description here

关于c# - 配置路由到api到子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21863482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com