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
Asp.net core 不同的基本路径取决于开发/生产环境_Asp.net Core_Razor_Blazor - Fatal编程技术网

Asp.net core 不同的基本路径取决于开发/生产环境

Asp.net core 不同的基本路径取决于开发/生产环境,asp.net-core,razor,blazor,Asp.net Core,Razor,Blazor,我刚刚在我们的开发服务器上发布了一个Blazor应用程序,以测试是否一切正常。我设置了服务器,因此我必须访问以下地址下的应用程序: serveraddress:8090/UserManagement 在我的本地开发机器上,我不需要UserManagement文件夹,我只需要访问并直接重定向到我的页面。例如,我的索引页可以在 @page "/" 在我的本地机器上。但是,当我在开发服务器上运行软件时,应该在路径中添加一个额外的/UserManagement标记。我在服务器上将ASPNETCORE

我刚刚在我们的开发服务器上发布了一个Blazor应用程序,以测试是否一切正常。我设置了服务器,因此我必须访问以下地址下的应用程序:

serveraddress:8090/UserManagement
在我的本地开发机器上,我不需要UserManagement文件夹,我只需要访问并直接重定向到我的页面。例如,我的索引页可以在

@page "/"
在我的本地机器上。但是,当我在开发服务器上运行软件时,应该在路径中添加一个额外的/UserManagement标记。我在服务器上将ASPNETCORE_环境变量设置为“Development”,并尝试如下更改_Hosts.cshtml中的标记:



不幸的是,这不起作用,所有重定向都转到/而不是/UserManagement/。有什么想法吗?

好的,我想我找到了解决办法。 首先,我更改了基本url,以便只有在找到开发环境变量时,才会使用基本url/UserManagement:

_Hosts.cshtml:

<environment include="Development">
        <base href="/UserManagement/" />
    </environment>
    <environment exclude="Development">
        <base href="~/" />
    </environment>
但单凭这一点仍然无法奏效。问题是,我使用这样的hrefs链接转发到另一个页面:

<a href="/CreateD5User" class="btn btn-success">New User</a>

使用前导斜杠,UserManagement目录未被预加。但是,在删除像这样的前导斜杠之后,它工作了,并且添加了/UserManagement/

<a href="CreateD5User" class="btn btn-success">New User</a>

好的,我想我找到了解决办法。 首先,我更改了基本url,以便只有在找到开发环境变量时,才会使用基本url/UserManagement:

_Hosts.cshtml:

<environment include="Development">
        <base href="/UserManagement/" />
    </environment>
    <environment exclude="Development">
        <base href="~/" />
    </environment>
但单凭这一点仍然无法奏效。问题是,我使用这样的hrefs链接转发到另一个页面:

<a href="/CreateD5User" class="btn btn-success">New User</a>

使用前导斜杠,UserManagement目录未被预加。但是,在删除像这样的前导斜杠之后,它工作了,并且添加了/UserManagement/

<a href="CreateD5User" class="btn btn-success">New User</a>


remove
~
在您的HREF中,您的开发/生产是否已反转?@Henk:为了更清楚地说明这一点:我需要在我们的开发服务器(实际上它是一个测试服务器)和生产服务器上使用/UserManagement前缀,因为我们有许多应用程序在那里运行。另一方面,我不需要在本地开发人员的笔记本电脑(Visual Studio)上使用/UserManagement前缀。@Agua:不幸的是,这不起作用。仍然路由到/pagename,而不是/UserManagement/pagenameAdding app.UsePathBase(“/UserManagement”);到startup.cs也不起作用…编辑:只需将该行移到Configure方法的最开头,现在就可以了!删除您的HREF中的
~
“难道您的开发/生产没有反转吗?”亨克:为了更清楚地说明这一点:我需要在我们的开发服务器(实际上它是一个测试服务器)和生产服务器上使用/UserManagement前缀,因为我们有许多应用程序在那里运行。另一方面,我不需要在本地开发人员的笔记本电脑(Visual Studio)上使用/UserManagement前缀。@Agua:不幸的是,这不起作用。仍然路由到/pagename,而不是/UserManagement/pagenameAdding app.UsePathBase(“/UserManagement”);到startup.cs也不起作用…编辑:只需将该行移到Configure方法的最开头,现在就可以了!