c# – Blazor:管理环境特定变量

c# – Blazor:管理环境特定变量,第1张

概述如何管理客户端blazor环境中不同的访问变量?通常,因为我使用Azure来发布应用程序,所以我将appsettings.json文件用于本地应用程序设置,然后在App Service的Azure Application Settings部分中设置条目,以获取本地环境和其他环境之间不同的条目. 我想要完成的一个例子: 客户端Blazor: @functions { //...more co 如何管理客户端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")

由于您的配置文件位于www文件夹中,因此您可以通过打开文件并阅读其中的内容来轻松地从blazor应用程序中引用它.

总结

以上是内存溢出为你收集整理的c# – Blazor:管理环境特定变量全部内容,希望文章能够帮你解决c# – Blazor:管理环境特定变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1233297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存