我想要完成的一个例子:
客户端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:管理环境特定变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)