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

做网站所需要的技术巴中建设厅网站电话

做网站所需要的技术,巴中建设厅网站电话,电子商务网站的推广方法,电脑上制作ppt的步骤有时候#xff0c;越是基础的东西#xff0c;越是有人不明白。前几天Review一个项目的代码#xff0c;发现非常基础的内容#xff0c;也会有人理解出错。今天#xff0c;就着这个点#xff0c;写一下Dotnet Core的主要类型的项目结构#xff0c;以及之间的转换和演化。一… 有时候越是基础的东西越是有人不明白。 前几天Review一个项目的代码发现非常基础的内容也会有人理解出错。今天就着这个点写一下Dotnet Core的主要类型的项目结构以及之间的转换和演化。一、最基础的应用Console控制台应用是Dotnet Core乃至前边的Dotnet Framework中最基础的项目。我们来创建一个Console项目看一下% dotnet new console -o demo 创建完成后打开工程。工程里只有一个文件Program.cs里面只有一个方法Mainnamespace demo {class Program{static void Main(string[] args){Console.WriteLine(Hello World!);}} } 在Dotnet Core所有类型的项目中Program.cs都是最开始的入口main方法也是最开始的入口方法。 这个工程中还有一个文件也需要了解一下demo.csproj这是这个项目的定义文件Project SdkMicrosoft.NET.SdkPropertyGroupOutputTypeExe/OutputTypeTargetFrameworknet5.0/TargetFramework/PropertyGroup/Project 这里面OutputType告诉编辑器这个工程编译后可以直接执行TargetFramework定义运行的框架。注意这个框架字串有个对照表net5.0对应的是.Net 5.0如果你想用Dotnet Core 3.1对应的字符串是netcoreapp3.1而不是net3.1。准确的说3.1是.Net Core 3.1而5.0是.Net 5.0。不用太纠结微软的命名规则而已。 这就是控制台应用Console的初始状态。下面我们看看这个工程如何转变为Web应用。二、转为Web应用第一件事我们需要改动demo.csproj项目定义文件。Web应用跑在WebHost上面而不是从直接执行。所以我们需要把OutputType项去掉。另外SDK也需要改一下。Console我们用的是Microsoft.NET.SdkWeb应用要改成Microsoft.NET.Sdk.WebProject SdkMicrosoft.NET.Sdk.WebPropertyGroupTargetFrameworknet5.0/TargetFramework/PropertyGroup/Project 改完保存。这时候应该可以注意到项目的发生了变化依赖的框架从Microsoft.NETCore.App变成了两个多了一个Microsoft.AspNetCore.App表明现在这是一个Asp.net Core的应用项目中自动生成了一个目录Properties下面多了一个文件launchSettings.json。这个文件大家应该很熟悉就不解释了。这时候应用已经从Console转为了Web应用。 Asp.Net Core框架提供了Host供Web加载。我们需要做的是把Host构建器加到程序中。通常我们需要两个构建器通用主机 Generic host builderWeb主机 Web host builder  1. 配置通用主机通用主机在Microsoft.Extensions.Hosting.Host中主要给Web应用提供以下功能依赖注入日志配置 IConfigurationIHostedService实现加入通用主机很简单就一个方法CreateDefaultBuilderclass Program {static void Main(string[] args){Host.CreateDefaultBuilder(args).Build().Run();} } 2. 配置Web主机Web主机才是真正与Web相关的内容主要实现Http支持设置Kestrol服务器为Web服务器添加IIS支持加入Web主机也是一个方法ConfigureWebHostDefaultsclass Program {static void Main(string[] args){Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {}).Build().Run();} } 这个方法用来添加Http请求管道并注入我们需要的服务。而注入我们需要的服务就是我们最常见的Startup.cs的内容。 下面我们先创建Startup.csnamespace demo {public class Startup{} } 在前边ConfigureWebHostDefaults中加入Startup并补齐代码class Program {static void Main(string[] args){Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}).Build().Run();} }这就是Program.cs中的完整代码了。整理一下就是我们常见的样子public class Program {public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}); } 不过到这儿还不能正常运行因为Startup.cs现在还是空的。3. 补齐Startup类Startup类在Asp.net Core应用中有着重要的作用。这个类用于使用DI容器注入服务设置Http Request管道以插入中间件 下面我们补齐所需的方法namespace demo {public class Startup{public void ConfigureServices(IServiceCollection services){}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){}} } 运行到这儿Web应用已经可以正常启动了。4. 给应用添加路由Web应用启动了但里面什么也没有是空的。要访问Web应用中的任何资源需要配置路由。这儿的路由基本上就是传入Http请求与资源之间的映射。我们可以用下面的中间件来启动路由UseRoutingUseEndpoints加一下试试public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {app.UseRouting();app.UseEndpoints(endpoint  {endpoint.MapGet(/, async context {await context.Response.WriteAsync(Hello from Demo);});}); } 这次运行浏览器中就看到正确的输出了。我们可以用MapGet映射更多资源public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {app.UseRouting();app.UseEndpoints(endpoint {endpoint.MapGet(/, async context {await context.Response.WriteAsync(Hello from Demo);});endpoint.MapGet(/test, async context {await context.Response.WriteAsync(Hello from Demo.Test);});endpoint.MapGet(/about, async context {await context.Response.WriteAsync(Hello from Demo.About);});}); }到这儿我们成功地把Console应用转为了Web应用。三、延伸内容上面完成的Web应用算是Web应用中的基础。基于这个内容我们还可以扩展到别的项目结构。1. 改为MVC应用需要在ConfigureServices中注入AddControllersWithViews并在Configure中添加MapDefaultControllerRoutepublic class Startup {public void ConfigureServices(IServiceCollection services){services.AddControllersWithViews();}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseRouting();app.UseEndpoints(endpoint {endpoint.MapDefaultControllerRoute();});} } 2. 改为WebAPI应用需要注入AddControllers和MapControllerspublic class Startup {public void ConfigureServices(IServiceCollection services){services.AddControllers();}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseRouting();app.UseEndpoints(endpoint {endpoint.MapControllers();});} } 3. 改为Razor应用需要注入AddRazorPages和MapRazorPagespublic class Startup {public void ConfigureServices(IServiceCollection services){services.AddRazorPages();}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseRouting();app.UseEndpoints(endpoint {endpoint.MapRazorPages();});} } 四、总结看下来其实过程很简单。通过这种方式能更进一步理解Dotnet Core的项目结构以及应用的运行过程。希望对大家能有所帮助。 本文的配套代码在https://github.com/humornif/Demo-Code/tree/master/0038/demo喜欢就来个三连让更多人因你而受益
http://www.zqtcl.cn/news/833924/

相关文章:

  • 安徽道遂建设工程有限公司网站汽车之家网页
  • 仙居网站建设贴吧马鞍山钢铁建设集团有限公司网站
  • 编写网站 语言微网站开发语言
  • 深圳网站建设优化网站建设与维护培训
  • 张家港网站开发wordpress后台登录地址改
  • 郑州做网站的公司哪家好做网站运营工资是不是很低
  • 做网站电销公司开发个网站怎么做
  • 廊坊做网站哪家好深圳快速网站制
  • 网站开发文档实训小结与讨论做网站建设业务员好吗
  • 网站开发知识产权归属好看的个人网站设计
  • 怎么学习企业网站维护江西省城乡建设培训网站官方网站
  • 电脑网站 源码php网站数据库修改
  • 做网站系统的答辩ppt范文商品关键词优化的方法
  • 长沙网站设计公司怎么样如何在网站上推广自己的产品
  • 龙岗网站设计农业网站模板WordPress
  • 摄像头监控设备企业网站模板聊城网站设计公司
  • 做英文网站賺钱建筑设计资料网站
  • 上海专业网站建设平台百度sem认证
  • 个人房产查询系统网站官网推广普通话 奋进新征程
  • 网站设计理念介绍石家庄业之峰装饰公司怎么样
  • 博乐建设工程信息网站ppt软件下载免费版
  • 宿州公司网站建设企业管理培训课程讲座大全
  • 企业网站营销的优缺点Vs做的网站调试时如何适应网页
  • 策划案网站构成怎么写wordpress建个人博客
  • 自己做的网站别人怎么访问美容行业网站建设多少价格
  • 网站建设与运营 教材 崔海口个人建站模板
  • 做本地网站赚钱吗wordpress桌面宠物
  • 滁州市城市建设投资有限公司网站云服务器里面做网站播放器
  • 做yy头像的网站口碑营销案例简短
  • 卖灯杆的做网站好网页ip代理