将 blazor webassembly 部署到 iis 10 上

第一步 发布blazor wasm

在工程上右键选择 发布,发布到文件夹,默认到 bin/debug/release/publish 下,然后点 【发布】按钮,发布成功后,在 publish 文件夹内能看到 wwwroot 和 web.config。

第二步 将发布的文件夹拷贝到服务器上,编辑绑定

要求服务器上安装相应的.net 运行时,我的是.net core 3.1

第三步 解决跨域问题

blazor wasm 需要通过 HttpClient 跟其他 web server 进行 GET POST等调用,需要 web server 允许跨域

注意:因文件夹无权限也可能报 cors拒绝访问错误!

我在服务器上的日志中发现了这个问题,为网站的文件夹(如果有)分配 IIS_IUSRS 完全控制权限。

第四步 压缩文件,提高加载速度

我的 blazor wasm 完全加载要13M,如果不压缩首次加载需要90秒。

publish时已经有了 gz 和 br 两种压缩文件,需要在iis上启动压缩,并在web.config中设置。

iis上启动压缩需要安装 Microsoft IIS Compression。

web.config 设置压缩参考官方例子

gzip压缩后,下载文件大小变为了5M,时间38秒。

如果web api 的json较大,建议启动 动态压缩

总结

blazor wasm 首次加载还是慢的可以,好在浏览器缓存后再请求就秒快了。据说 .net 6 把文件打包压缩且优化了系统文件的尺寸加载速度提高了不少。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Blazor WebAssembly部署有多种方式,具体选择哪种方式取决于你的需求和环境。以下是一些常见的部署方法: 1. 使用服务器部署:你可以将Blazor WebAssembly应用程序部署到常规的Web服务器上,例如IIS或Apache。你需要将应用程序的文件复制到服务器上,并配置服务器以处理Blazor WebAssembly的请求。具体的部署步骤和配置可能会因服务器类型而有所不同。 2. 使用GitHub Pages部署:如果你使用GitHub作为代码托管平台,你可以将Blazor WebAssembly应用程序部署到GitHub Pages上。你可以通过将应用程序文件推送到gh-pages分支来实现自动部署。这种方式提供了简单的部署过程,并且GitHub Pages会自动处理一些必要的设置,如添加.nojekyll文件和404.html页面重定向解决方法。 3. 使用Blazor DevServer部署Blazor官方提供了一个名为blazor-devserver.exe的工具,你可以将其用作企业内部的部署服务器。这种方式的主要优点是它可以在开发环境中提供更快的构建和部署过程。你需要运行blazor-devserver.exe,并将应用程序文件复制到指定的目录。然后,你可以使用本地地址访问你的应用程序。 此外,还有其他一些部署方式和工具可供选择,如Docker容器、Azure静态网站等。具体选择哪种方式取决于你的需求、技术栈和部署环境。你可以根据你的情况选择最适合的部署方法。如果需要更多关于Blazor WebAssembly部署的信息和优化建议,可以参考https://www.meziantou.net/optimizing-a-blazor-webassembly-application-size.htm。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值