基于.NET Core 3.1 网站开发和部署的方法
public void ConfigureServices(IServiceCollection services) { //其他代码省略了 ... services.AddDbContext<DBUtility.HotelWebDbContext>( options => options.UseMySql( Configuration.GetConnectionString("HotelWeb"), x => x.ServerVersion("5.5.64-mariadb") ) ); services.AddTransient<INewsManager, NewsManager>(); services.AddTransient<IDishManager, DishManager>(); services.AddTransient<IDishBookManager, DishBookManager>(); services.AddTransient<ISuggestionManager, SuggestionManager>(); services.AddTransient<IRecruitmentManager, RecruitmentManager>(); services.AddTransient<ISysAdminManager, SysAdminManager>(); services.AddTransient<INewsService,NewsService>(); services.AddTransient<IDishService,DishService>(); services.AddTransient<IDishBookService,DishBookService>(); services.AddTransient<ISuggestionService,SuggestionService>(); services.AddTransient<IRecruitmentService,RecruitmentService>(); services.AddTransient<ISysAdminService,SysAdminService>(); } 4.修改代码使用依赖注入 public class HomeController : Controller { private readonly INewsManager newsManager; private readonly ISuggestionManager suggestionManager; private readonly IRecruitmentManager recruitmentManager; public HomeController( INewsManager newsManager, ISuggestionManager suggestionManager, IRecruitmentManager recruitmentManager) { this.newsManager = newsManager; this.suggestionManager = suggestionManager; this.recruitmentManager = recruitmentManager; } // ... } 5.测试 启动项目也没有什么问题 七、项目发布1.项目配置 dotnet core 中没有Web.conf文件了。 2.命令行发布项目 CLI 提供了发布项目的相关命令 dotnet publish -c Release --no-self-contained -o /path/to/save/project/ 3.另一种方式使用vs发布 很简单,下一步下一步做就好了。 八、通过Nginx部署到Linux服务器1.在Centos7 上安装运行时 Register Microsoft key and feed sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm Install the ASP.NET Core runtime sudo yum install dotnet-sdk-3.1 2.安装libgdiplus 因为项目中使用验证码,需要用到这个命名空间:System.Drawing.Common 3.将项目目录上传到linux 使用xshell 的ftp 轻松完成。 4.测试项目是否运行 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |