首先创建一个名为 .NetCoreDemo的解决方案
然后选择.NetCore 3.1
Docker支持不需要,Https也不需要。身份认证暂时不需要后续 到用的时候,自己手动加。
刚创建好的项目,依赖项可能是黄色的,需要等待一会儿。
到现在项目中应当只有俩个文件,一个是Program.cs文件。Startup.cs文件。
打开Startup.cs文件。并将下红框选中的部分删除掉。我们不需要直接操作HTTP数据上下文。
在ConfigureServices 里面添加AddMvc,在Configure里面配置MVC,如图
如果项目需要用到静态文件。css,js,img等。那么就在Configure里面添加
app.UseStaticFiles();
这很重要,如果不添加将导致样式文件不能被客户端加载。
在添加了
UseMvcWithDefaultRoute();
后此时访问 http://localhost:52753/
默认将返回 http://localhost:52753/Home/Index
的数据,此时浏览器打开将显示404错误,
这图实在太丑,我们不想看到这个。在Configure中添加 app.UseStatusCodePages();
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseStaticFiles();
app.UseStatusCodePages();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
}
}
再次浏览器查看
虽然返回的也是404,但是实际上我们将文件也返回给了客户端。
我们前面添加了MVC,也USE了MVC,现在我们将控制器和视图也添加到项目中。
在解决方案中选中NetCoreDemo并添加一个文件夹Controllers,是的他是用来存放控制器的。你也可以换个名字,不过别人看起来将会很糟糕。
添加第一个控制器名为Home
注意上图我选择的是类不是控制器。
并在HomeController中添加如下代码。请注意,控制器必须是Controller结尾。即使你不去继承ControllerBase类也是可以得。
public class HomeController
{
public string Index() => "Hello Man";
}
打开你的浏览器,你将看到如下信息。
看着有些假,不过却是真的。