找到 34423 篇文章 关于编程

如何在 C# 中不使用 foreach 循环复制列表中的项目?

Nizamuddin Siddiqui
更新于 2020-09-25 11:01:32

1K+ 次浏览

List 是一个强类型对象的集合,可以通过索引访问,并具有用于排序、搜索和修改列表的方法。它是 ArrayList 的泛型版本,属于 System.Collection.Generic 命名空间。List 等同于 ArrayList,它实现了 IList 接口。它属于 System.Collection.Generic 命名空间。List 可以包含指定类型的元素。它提供编译时类型检查,并且不执行装箱/拆箱操作,因为它是一个泛型类型。可以使用 Add()、AddRange() 方法或集合初始化器语法添加元素。可以通过传递索引(例如 myList[0])来访问元素。索引从零开始。List 的执行速度比 ArrayList 快,并且出错的可能性更小。一个…… 阅读更多

C# Asp.net Core 中 AddSingleton、AddScoped 和 AddTransient 有什么区别?

Nizamuddin Siddiqui
更新于 2020-09-25 10:55:59

9K+ 次浏览

在 Startup.cs 中注册依赖项有三种方法:AddSingleton、AddScoped 和 AddTransient。AddSingleton 当我们将类型注册为单例时,整个应用程序和每个请求都只有一个实例可用。这类似于拥有一个静态对象。为第一个请求创建实例,并且在整个应用程序和每个后续请求中都可用。public void ConfigureServices(IServiceCollection services){ services.AddSingleton() }Add Scoped 当我们将类型注册为 Scoped 时,每个请求在整个应用程序中只有一个实例可用。当新的请求到来时,会创建新的实例。Add scoped 指定…… 阅读更多

如何在 C# Asp.net Core 中处理中间件中的错误?

Nizamuddin Siddiqui
更新于 2020-09-25 10:54:36

2K+ 次浏览

创建一个名为 CustomExceptionMiddleware 的新文件夹,并在其中创建一个名为 ExceptionMiddleware.cs 的类。我们需要做的第一件事是通过依赖注入注册我们的 IloggerManager 服务和 RequestDelegate。RequestDeleagate 类型的 _next 参数是一个函数委托,可以处理我们的 HTTP 请求。在注册过程之后,我们需要创建 InvokeAsync() 方法。没有它,RequestDelegate 无法处理请求。_next 委托应该处理请求,并且我们控制器中的 Get 操作应该生成成功的响应。但是,如果请求不成功(确实不成功,因为我们正在强制异常),我们的中间件将触发 catch 块…… 阅读更多

C# Asp.net Core 中的元包是什么?

Nizamuddin Siddiqui
更新于 2020-09-25 10:52:07

4K+ 次浏览

众所周知,Microsoft.AspNetCore 包是添加到许多 ASP.NET Core 模板中的包之一。打开新的 ASP.NET Core 项目时,Microsoft.AspNetCore 包会重复包含为常规项目依赖项之一。它提供了许多关键包来构建基本的 ASP.NET Core 应用程序。但是,此包本身不包含任何实际的 dll 或代码,它仅包含对其他包的一系列依赖项。通过将此包添加到项目中,您可以引入所有相关的包及其依赖的 dll,这称为元包。具体来说…… 阅读更多

C# ASP.NET Core 项目中 Program.cs 文件的作用是什么?

Nizamuddin Siddiqui
更新于 2020-09-25 10:50:45

1K+ 次浏览

ASP.NET Core web 应用程序实际上是一个控制台项目,它从 Program 类中的入口点 public static void Main() 开始执行,在这里我们可以为 web 应用程序创建一个主机。public class Program{ public static void Main(string[] args){ BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup() .Build(); }WebHost 是一个静态类,可用于创建具有预配置默认值的 IWebHost 和 IWebHostBuilder 实例。CreateDefaultBuilder() 方法创建一个具有预配置默认值的新 WebHostBuilder 实例。在内部,它配置 Kestrel、IISIntegration 和其他配置…… 阅读更多

C# Asp.net Core 中 UseIISIntegration 的作用是什么?

Nizamuddin Siddiqui
更新于 2020-09-25 10:49:24

2K+ 次浏览

所有 ASP.NET Core 应用程序都需要一个 WebHost 对象,它实际上充当应用程序和 web 服务器。WebHostBuilder 用于配置和创建 WebHost。您通常会在 WebHostBuilder 设置代码中看到 UseKestrel() 和 UseIISIntegration()。它们的作用是什么?UseKestrel() - 这将 IServer 接口注册为 Kestrel 服务器,该服务器将用于托管应用程序。将来,可能还有其他选项,包括仅限 Windows 的 WebListener。UseIISIntegration() - 这告诉 ASP.NET IIS 将作为 Kestrel 前面的反向代理工作。然后,这将指定 Kestrel 应该…… 阅读更多

C# ASP.NET Core 中 IWebHostEnvironment 接口的作用是什么?

Nizamuddin Siddiqui
更新于 2020-09-25 10:46:15

5K+ 次浏览

IWebHostEnvironment 提供有关应用程序正在运行的 web 托管环境的信息。属于命名空间 Microsoft.AspNetCore.Hosting。IWebHostEnvironment 接口需要作为依赖项注入到控制器中,然后才能在整个控制器中使用。IWebHostEnvironment 接口有两个属性。WebRootPath - www 文件夹的路径(获取或设置包含 web 可服务应用程序内容文件的目录的绝对路径)ContentRootPath - 包含所有应用程序文件的根文件夹的路径(获取或设置指向 WebRootPath 的 IFileProvider。)用法我们需要导入命名空间 using Microsoft.AspNetCore.Hosting;在下面的示例中,IWebHostEnvironment 注入到控制器中并分配给私有属性…… 阅读更多

什么是 Kestrel C# Asp.net Core?

Nizamuddin Siddiqui
更新于 2020-09-25 10:44:47

3K+ 次浏览

Kestrel 是 ASP.NET Core 的跨平台 web 服务器。它在 .NET Core 支持的所有平台和版本上都受支持。它在 ASP.NET Core 中默认包含为内部服务器。Kestrel 本身可以用作边缘服务器,即面向 Internet 的 web 服务器,可以直接处理来自客户端的传入 HTTP 请求。在 Kestrel 中,用于托管应用程序的进程是 dotnet.exe。Kestrel 不与 InProcess 托管模型一起使用。使用 Out of Process 托管模型,Kestrel 可以通过以下两种方式之一使用。Kestrel 可以用作面向 Internet 的 web 服务器Kestrel 可以…… 阅读更多

C# ASP.NET Core 中间件与 HttpModule 有什么区别?

Nizamuddin Siddiqui
更新于 2020-09-25 10:43:56

998 次浏览

HttpModules 通过 web.config 或 global.asax 配置,开发者无法控制其执行顺序。因为模块的顺序主要基于应用程序生命周期事件。请求和响应的执行顺序保持不变。HttpModules 帮助你将代码附加到特定的应用程序事件。HttpModules 与 System.web 绑定。Middleware 在 Startup.cs 代码中配置,而不是 web.config 文件(应用程序入口点)。与 HttpModules 不同,可以完全控制执行的内容和顺序,因为它们按照添加的顺序执行。响应的中间件顺序与请求的中间件顺序相反。中间件是……阅读更多

如何在 C# Asp.net Core 中指定作为依赖项添加的服务的生存期?

Nizamuddin Siddiqui
更新于 2020年9月25日 10:41:49

浏览量:555

内置的 IoC 容器管理已注册服务类型的生命周期。它会根据指定的生命周期自动释放服务实例。内置的 IoC 容器支持三种生命周期:单例 - IoC 容器将在整个应用程序生命周期中创建和共享服务的单个实例。瞬态 - 每次请求时,IoC 容器都会创建一个指定服务类型的新实例。作用域 - IoC 容器将为每个请求创建一个指定服务类型的实例,并在单个请求中共享。示例 public interface ILog{    void info(string str); } class MyConsoleLogger ... 阅读更多

广告
© . All rights reserved.