如何管理客户端blazor环境中不同的访问变量?通常,因为我使用Azure来发布应用程序,所以我将appsettings.json文件用于本地应用程序设置,然后在App Service的Azure Application Settings部分中设置条目,以获取本地环境和其他环境之间不同的条目.
我想要完成的一个例子:
客户端Blazor:
@functions { //...more code here await Http.PostJsonAsync<object>("http://localhost:50466/api/auth/register",vm); }
在部署的Web服务器上,这应该转换为:
@functions { //...more code here await Http.PostJsonAsync<object>("http://wwww.mywebsite.com/api/auth/register",vm); }
所以我正在寻找一种方法来将站点根URL存储在环境变量中,并在发布时对其进行转换. Blazor-ey有没有办法做到这一点?
解决方法
有多种方法可以做到这一点,
I believe there is no any official method documented yet!
我的建议是使用好的旧方法,为不同的环境使用多个配置文件,并仅复制要在预期的环境中使用的配置文件.
在解决方案文件夹中创建一个名为env的文件夹.并创建名为dev和prod的子文件夹.如下.
|- env |- dev |- prod |
将您的不同配置文件(具有相同名称和不同配置的文件)放在dev和prod文件夹中.
创建批处理文件以将appropreate环境复制到wwwroot文件夹. (我比下一步更喜欢这个,这对CI很友好,不需要在构建服务器中安装Visual Studio)
要么
将以下代码添加到Blazor项目的post-build事件中
if $(ConfigurationName) == Debug ( copy /Y "$(ProjectDir)env\dev\*" "$(TargetDir)\wwwroot" ) ELSE ( copy /Y "$(ProjectDir)env\prod\*" "$(TargetDir)\wwwroot" )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。