大家好,今天小编来为大家解答以下的问题,关于asp网站目录源码分享,asp网站源代码这个很多人还不知道,现在让我们一起来看看吧!
5什么是ASP.NETCore服务
ASP.NETCore服务是指在应用程序中可以执行特定任务的,例如:1.给用户邮箱发送验证码服务2.通过一次性密码来验证用户手机号服务3.恢复用户账号密码的服务4.EntityFrameworkCore服务5.Identity服务
我们将创建一个ASP.NETCore服务来统计应用程序注册用户的总数,在应用程序根目录下创建一个Services文件夹,在这个文件中创建一个TotalUsers.cs类,在类中添加如下代码:
namespaceAspNetCore.Configuration.Services{publicclassTotalUsers{publiclongTUsers(){Randomrnd=newRandom();returnrnd.Next(100,int.MaxValue);}}}
TUsers()方法返回应用程序注册用户的总人数,我们用随机数来生成最小值为100,最大值为int类型的最大值
接下来我们在应用程序中注册这个类以至于ASP.NETCore能在应用程序中使用这个类
进入Program.cs类并且在调用builder.Build()之前添加代码builder.Services.AddSingleton<TotalUsers>()Program类中的代码如下:
usingAspNetCore.Configuration.Services;varbuilder=WebApplication.CreateBuilder(args);builder.Services.AddControllersWithViews();builder.Services.AddRazorPages();builder.Services.AddSingleton<TotalUsers>();varapp=builder.Build();//ConfiguretheHTTPrequestpipeline.if(!app.Environment.IsDevelopment()){app.UseExceptionHandler(“/Home/Error”);//ThedefaultHSTSvalueis30days.app.UseHsts();}app.UseHttpsRedirection();app.UseStaticFiles();app.UseRouting();app.UseAuthorization();app.MapControllerRoute(name:”default”,pattern:”{controller=Home}/{action=Index}/{id?}”);app.Run();
builder.Services.AddSingleton<TotalUsers>()代码添加服务,在整个应用程序中共享该服务,接下来我们将这个服务注入到控制器并且在浏览器中显示用户总数
5.1在控制器中注入ASP.NETCore服务
使用依赖注入特性我们可以在控制器中使用服务,我们可以通过控制器的构造函数注入服务的对象,在下面的代码中我创建了一个HomeController的构造函数并且在构造函数中添加了一个TotalUsers的参数
我们刚才已经在Program类中注册了TotalUsers类因此依赖注入特性会自动为构造函数的参数提供TotalUsers实例并且进行赋值
我们在应用程序的根目录下创建Controllers文件夹,接着在文件夹下添加一个空的MVCController并且命名为HomeController.cs
在HomeController中添加如下代码
usingAspNetCore.Configuration.Services;usingMicrosoft.AspNetCore.Mvc;namespaceAspNetCore.Configuration.Controllers{publicclassHomeController:Controller{privateTotalUsers_totalUsers;publicHomeController(TotalUserstotalUsers){_totalUsers=totalUsers;}publicstringIndex(){return”总用户人数是”+_totalUsers.TUsers();}}}
控制器有一个构造函数,构造函数的参数是我们的服务类TotalUsers,当ASP.NET调用此控制器时,它会看到构造函数要求一个名为TotalUsers服务的依赖对象,接着MVC进入Program类并且查找TotalUsers类,接着会创建一个TotalUsers类的实例并且将该对象传递到HomeController的构造函数Index方法调用TUsers()方法获取注册用户的总数,最后将数据返回到View
接下来在应用程序的根目录下创建一个Views文件夹,在Views文件夹内创建一个Home文件夹
现在在Views->Home文件夹下创建一个Index.cshtml的空Razor视图,添加下面代码
@modelstring@Model
我们运行应用程序来测试一下这个服务,如下图所示
现在我们看到应用程序可以工作,我们最开始的空模板,创建Service->Controller->View,这对于我们来说是个很好的学习经验,下一节我们将讨论中间件
这节我们主要介绍了ASP.NETCore服务
参考文献
[1]https://www.yogihosting.com/aspnet-core-configurations/#content-generating-middleware
文章到此结束,如果本次分享的asp网站目录源码分享和asp网站源代码的问题解决了您的问题,那么我们由衷的感到高兴!
