找到 34423 篇文章 关于编程

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

Nizamuddin Siddiqui
更新于 2020年9月25日 11:01:32

1K+ 次浏览

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

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

Nizamuddin Siddiqui
更新于 2020年9月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年9月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年9月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年9月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年9月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年9月25日 10:46:15

5K+ 次浏览

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

什么是 Kestrel C# Asp.net Core?

Nizamuddin Siddiqui
更新于 2020年9月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年9月25日 10:43:56

998 次浏览

HttpModules 通过 web.config 或 global.asax 配置开发人员无法控制执行顺序。因为模块的顺序主要基于应用程序生命周期事件。对于请求和响应,执行顺序保持不变。HttpModules 帮助您将特定于应用程序事件的代码附加到应用程序事件。HttpModules 绑定到 System.web。中间件在 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.