前面几篇文章介绍的知识我们大致都掌握好了后,好吧!我们终于可以正式的去编写第一个asp.net core的项目了。在这里我推荐大家使用visual studio做为ide,大家可以去微软下载社区版,这个是免费的。因为小编的电脑还是使用win7所以用的是visual studio 2019。如果使用win10系统那么推荐使用visual studio 2022,并且可以使用最新版本的.net core 7 。因为是win7系统,小编使用的是.net core 5。
创建一个项目
然后选择asp.net core空,当然我们也可以选择asp.net core web应用,但这里我还是推荐选择空,可以根据实际的需求慢慢添加其他东西
选择好了后可以一直下一步就是下图这里要记得把配置HTTPS关闭就行,其他的根据实际环境进行选择。
选择创建后到项目工程界面,这样第一个asp.net core项目就创建完成了
在右边解决方案下边,点击WebApplication4 右键 重新生成一次,可以通过上图箭头指示“在浏览器查看”
最经典的Hello World 出现了啊。
项目是创建好了,可能大家对于项目的文件都起那些作用暂时还不了解。下面小编给大家讲解一下可以加快了解,当然一些暂时用不上的知识点我们这边也不讲,因为随着大家不断的学习,在过程中我相信很多东西会自然明白!看下图
Properties
Properties 这个是配置文件。创建好了后至少目前是不用修改它的,所以暂时可以不用管它,它的主要作用还是做一些环境的配置。
依赖项
依懒性下面有2个子集,一个是分析器,一个是框架。在后面还会出现程序包。依赖项的作用就是引入其他东西。比如我们需要使用ef code 就需要引入程序包Microsoft.EntityFrameworkCore 这个在后面会讲解到,现在我们只需要明白它是用来引入其他特定东西的就行了。我们打个比方,我们想要飞起来,那么就需要给自己安装上2个翅膀,那么这2个翅膀就是依赖项。
appsettings.json
这也是一个配置文件,区别于Properties,Properties是系统配置,appsettings.json是程序配置或则说是公共配置,它是配置我们所编写程序的。比如数据库连接代码就可以存放在这个地方。打个比方我们经常使用身份证,但是身份证号码不太好记,所以我们就把身份证号码记录在一个小本子上。那么appsettings.json就相当于这个小本子。appsettings.json根据特定的环境可以有多个。但目前为止我们只需要这一个就行了。至于其它的,随着学习的深入自然会更快的了解。
Program.cs
程序的第一个文件Main函数的所在地,记得asp.net core自学第三天学习里是不是讲过,c#程序大部分都是从Main函数开始的吗? 点击Program.cs后看到Main函数里,调用CreateHostBuilder(args).Build().Run(); 这里就是创建一个主机对象并且运行。CreateHostBuilder函数就在Main下面!在CreateHostBuilder函数里webBuilder.UseStartup<Startup>(); 指向了Startup.cs,把Startup.cs配置信息加入到主机里
Startup.cs
Startup.cs是asp.net core 的启动文件,它有2个函数
ConfigureServices(IServiceCollection services)
这个函数跟它的名字一样是用来做asp.net core 的程序配置的。例如连接数据库就在这里配置。示例如下
services.AddDbContextPool(options =>options.UseSqlServer(_configuration.GetConnectionString("datebase")));
Configure(IApplicationBuilder app, IWebHostEnvironment env)
这个也算是配置文件吧,默认的代码如下
if (env.IsDevelopment())//如果是开发模式 { app.UseDeveloperExceptionPage();//显示友好信息 } app.UseRouting();//将请求与端点匹配,路由规则 意思就是我要找我兄弟UseEndpoints开始匹配路由了,需要跟app.UseEndpoints一起出现 app.UseEndpoints(endpoints => //执行匹配的端点 意思就是我这里正式匹配路由了 { endpoints.MapGet("/", Async context => { Await context.Response.WriteAsync("Hello World!"); //在页面上显示文本Hello World! MapGet里的"/"就代表了网站首页 }); });
什么是路由?
路由也可以理解为路径;例如上诉的http://localhost:52216/最后那个/是不是对应了示例里的"/" 如果是http://localhost:52216/123/ 那么这里的123就是路由地址如下图
最后总结
上诉就是一个最简单的asp.net core 项目的实际。万丈高楼平地起,上诉这几个文件就是整个项目最基本的几个东西了,属于那种缺一不可的东西。当然一个完整的asp.net core项目还有mvc框架需要讲解 如 Controllers Models Views 另外还有与数据库打交道的ef code。