当前位置: 首页 > news >正文

通过服务推广网站7一12岁手工玩具小制作

通过服务推广网站,7一12岁手工玩具小制作,成都麦卡网络做网站开发怎么样,做视频网站需要多大的带宽好久没写文章了#xff0c;有些同学问我公众号是不是废了#xff1f;其实并没有。其实想写的东西很多很多#xff0c;主要是最近公司比较忙#xff0c;以及一些其他个人原因没有时间来更新文章。这几天抽空写了一点点东西#xff0c;证明公众号还活着。长久以来的认知有些同学问我公众号是不是废了其实并没有。其实想写的东西很多很多主要是最近公司比较忙以及一些其他个人原因没有时间来更新文章。这几天抽空写了一点点东西证明公众号还活着。长久以来的认知对于托管代码 .NET / JAVA 都是需要在服务器上安装 SDK 或者运行时的。比如 .NET Framework 4.XX JDK/JRE.XX 等。其实从 .NET Core 2.1 开始我们的 .NET 程序可以独立打包成可以执行文件在服务器上根本不需要安装任何运行时相关的东西就可以运行。这个发布模式在某些情况下可以大大提高部署的效率。以下简单介绍一下。“独立”部署模式 在发布界面部署模式选择“独立”点击保存之后然后正常发布。等到发布完成之后查看 publish 目录可以发现里面生成了一大堆文件数量有上百个。这里其实就包含了 runtime 相关的文件。我们把这堆文件全部复制到某个未安装过 .NET SDK 或者 runtime 的 windows 服务器上找到 SelfContainedTest.exe 文件双击运行。如果一切顺利会启动一个控制台。访问一下服务器的 5000 口看到测试数据被成功的输出了证明我们的 .NET 程序可以正常运行了 。单文件 上面的操作我们已经可以不安装运行时在服务器上运行 .NET 程序了。但是那么多文件看着不太优雅下面让我们的 .NET 程序打包成一个文件。打开发布设置界面勾上“生成单个文件”点击保存发布之后在 publish 目录可以看到只剩下 6 个文件了。排除配置文件pdb 文件等其实真正的程序只是 SelfContainedTest.exe 文件所以称之为单文件。双击这个文件我们的程序就可以正常的运行了。裁剪 以上我们已经把程序从多个文件打包成一个文件了。这个文件我们可以看到有 70 M 对于我们一个简单的演示程序来说 70M 也挺大了。那么有什么办法来缩小我们的可以执行文件吗其实我们只要在发布配置上打开裁剪功能就可以缩小我们的程序。在发布配置界面勾上“裁剪未使用的代码”点击保存发布之后在 publish 文件夹下面生成的 SelfContainedTest.exe 文件缩小到了 30M 左右。裁剪的注意点这里大概说一下裁剪的原理。当我们使用裁剪功能的时候发布程序会开始分析我们的代码哪些类被使用哪些类没有使用没有使用的类就会被删除掉使用这样的原理来减小发布后程序集的大小。但是以上方法显然会有一个问题那就是无法识别动态性很强的代码比如反射实现的某些功能。比如以下代码string s  Console.ReadLine(); Type type  Type.GetType(s); foreach (var m in type.GetMethods()) {Console.WriteLine(m.Name); }显然以上代码静态分析没办法知道程序最终需要使用那些类因为目标类是通过 Console.ReadLine 方法输入进去的。在程序没有执行的时候谁也不知道哪些类会被使用。在 IIS 上运行 上面我们演示程序运行的时候是寄宿在控制台上的这样的话很容易被人误关闭。其实单文件发布的程序照样可以使用 IIS 来托管。按照正常的 IIS 发布网站的流程配置之后把应用程序池设置为 “无托管代码” 访问对应的端口程序就可以正常运行了。在 linux 上运行 以上我们都是在 windows 上测试现在让我们试一下在 linux 上运行它。在 linux 上运行的话需要在发布配置界面修改“目标运行时”为 linux-64 。发布成功后把生成的文件复制到 linux 服务器上。cd 到目录运行以下代码。chmod x SelfContainedTest ./SelfContainedTest很不幸我们的程序没有按计划运行起来。通过搜索后发现需要设置一个环境变量。修改运行的代码:export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT1 ./SelfContainedTest运行完之后我们的程序应该会顺利的启动。访问一下对应的 http 接口可以看到正确的输出了。总结 通过以上演示我们根本没必要在服务器windows/linux上安装任何 SDK 或者运行时就可以完整的运行我们的 .NET 程序。而且通过裁剪之后我们的程序的大小也缩小到了一个很小的范围。以上功能对于互联网行业来说可能没什么必要毕竟大家走的都是容器化部署服务器上本来就不需要安装运行时。但是对于一些传统行业比如医院这样的环境还有很多需要在服务器上人肉部署的场景。在这些场景之下就非常有意义了可以大大的体高部署的效率。毕竟不是谁都可以很快的在服务器上安装好运行时特别是 linux 服务器。其实不安装运行时来运行程序还有一个办法那就是使用 AOT 发布这个我们下次再讲。关注我的公众号一起玩转技术
http://wiki.neutronadmin.com/news/45679/

相关文章:

  • 重庆网站公司推荐360易托管建站工具
  • 德州做网站公司电话投资项目
  • 陕西专业网站建设价格汕头制作网站
  • 建设银行曲江支行网站公司建了网站怎么做分录
  • 商学院网站建设建议wordpress固定连接怎么设置好
  • 深圳平湖做网站html编写新闻页面
  • asp.net网站开发四酷全书金融软件开发公司排名
  • 做网站和做系统的区别seo快速排名
  • 公司网站建设的目标是什么wordpress书插件
  • 网站建设的意义是什么手机关键词seo排名优化
  • 网站的后端怎么开发网站会员体系
  • 国外做网站卖东西要什么条件怎么申请信用卡收款网站接口
  • 深圳阿里网站设计公司大连个人网站开发制作
  • 电子商务网站的特点尚德建设集团网站
  • 建设一个朋友的网站百姓畅言六安杂谈
  • 怎么获取网站数据做统计数据wordpress 调用所有
  • 修水县城乡建设局网站昆山企业网站设计
  • wordpress修改网站icon做网站jsp好还是
  • 宜昌市建设厅官方网站龙之向导外贸经理人网站
  • 做外贸最适合的网站系统深圳市建设工程
  • 在盐城做网站的网络公司电话上海建设集团网站
  • 自己做的网站怎么绑定域名怎样为公司做网站
  • 哪个网站的ppt模板最好小程序制作封面
  • 在线手机网站制作wordpress主题sns
  • 建网站公司锦程无锡网站制作中心
  • 两学一做考试网站数字币网站开发
  • 网站开发需要用例图吗国内图片下载网站
  • 网站建设网站排名前端开发专业
  • 十堰市有几家网站公司wordpress register_taxonomy
  • 北京网站建设公司华网天下优惠翻译网页