Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何定义asp.net核心应用程序的基本url_C#_Asp.net Core_Base Url - Fatal编程技术网

C# 如何定义asp.net核心应用程序的基本url

C# 如何定义asp.net核心应用程序的基本url,c#,asp.net-core,base-url,C#,Asp.net Core,Base Url,我有一个ASP.NET Core 3.1.0 web应用程序,我正在努力理解ASP.NET Core公开的url 我只有一个控制器 [Route("accounts")] public class AccountsController : BaseController { public AccountsController() { } [HttpGet("{test}")] public string Defaul

我有一个ASP.NET Core 3.1.0 web应用程序,我正在努力理解ASP.NET Core公开的url

我只有一个控制器

[Route("accounts")]
public class AccountsController : BaseController
{
    public AccountsController()
    {
    }

    [HttpGet("{test}")]
    public string DefaultMethod()
    {
        return "Hello";
    }
}        
在我的Startup.cs中,我使用UsePathBase作为

app.UsePathBase("/account-api");
当我启动应用程序时,我可以按以下方式访问该方法:

http://localhost:5000/account-api/账户/测试,一切正常

但我也可以通过http://localhost:5000/accounts/test 我想限制一下

如何限制此操作?

尝试此操作

app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“帐户api/{controller}/{action}/{id?}”);
});

你可能想用
[Route(“account api/[controller]”)装饰你的控制器来限制我使用的是Web api模板,没有MVC,所以我不认为应该在我的情况下使用它为什么不呢?在WebAPI中使用MVC模型完全可以。但是你也有
app.UseRouter
选项。而不是使用MVC@BhavikSutharI已将此标记为已回答,但选择了app.UseRouter,因为UseMVC在代码库中给出了错误的印象