找到 2628 篇文章 关于 C#

如何在 C# ASP.NET Web API 中为操作方法分配别名?

Nizamuddin Siddiqui
更新于 2020年8月19日 12:14:16

3K+ 次浏览

控制器中的公共方法称为操作方法。让我们考虑一个例子,其中 DemoController 类派生自 ApiController,并包含多个操作方法,其名称与 HTTP 动词(如 Get、Post、Put 和 Delete)匹配。示例public class DemoController : ApiController{    public IHttpActionResult Get(){       //某些操作       return Ok();    }    public IHttpActionResult Post([FromUri]int id){       //某些操作       return Ok();    }    public IHttpActionResult Put([FromUri]int id){       //某些操作       return Ok();    }    public IHttpActionResult Delete(int id){   ... 阅读更多

C# ASP.NET Web API 中有哪些不同类型的过滤器?

Nizamuddin Siddiqui
更新于 2020年8月19日 12:09:58

11K+ 次浏览

过滤器用于在 Web API 框架请求处理的不同级别注入额外的逻辑。过滤器为横切关注点(日志记录、授权和缓存)提供了一种方法。过滤器可以通过声明式或编程方式应用于操作方法或控制器。以下是 Web API C# 中的过滤器类型:身份验证过滤器 - 身份验证过滤器帮助我们验证用户详细信息。在身份验证过滤器中,我们编写用于检查用户真实性的逻辑。授权过滤器 - 授权过滤器负责检查用户访问权限。它们在框架中实现 IAuthorizationFilter 接口。操作过滤器 - 操作过滤器用于添加额外的... 阅读更多

如何在 C# ASP.NET Web API 中解决 CORS 问题?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:57:44

6K+ 次浏览

跨源资源共享 (CORS) 是一种机制,它使用额外的 HTTP 标头来告诉浏览器向在一个来源运行的 Web 应用程序授予对来自不同来源的选定资源的访问权限。当 Web 应用程序请求其来源(域、协议或端口)与其自身不同的资源时,它会执行跨源 HTTP 请求。例如,让我们考虑一个具有前端(UI)和后端(服务)的应用程序。假设前端来自 https://demodomain-ui.com,而后端来自 https://demodomain-service.com/api。如果最终用户尝试访问该应用程序,出于安全原因… 阅读更多

如何在 C# ASP.NET Web API 中从操作方法返回自定义结果类型?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:54:42

1K+ 次浏览

我们可以通过实现 IHttpActionResult 接口来创建我们自己的自定义类作为结果类型。IHttpActionResult 包含单个方法 ExecuteAsync,它异步创建 HttpResponseMessage 实例。public interface IHttpActionResult {    Task ExecuteAsync(CancellationToken    cancellationToken); }如果控制器操作返回 IHttpActionResult,则 Web API 会调用 ExecuteAsync 方法来创建 HttpResponseMessage。然后,它会将 HttpResponseMessage 转换为 HTTP 响应消息。示例为了拥有我们自己的自定义结果,我们必须创建一个实现 IHttpActionResult 接口的类。using System.Net.Http; using System.Threading; using System.Threading.Tasks; using System.Web.Http; namespace DemoWebApplication.Controllers{    public class CustomResult : IHttpActionResult{       string _value;       HttpRequestMessage _request; ... 阅读更多

C# ASP.NET Web API 中控制器操作的各种返回类型是什么?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:52:00

7K+ 次浏览

Web API 操作方法可以具有以下返回类型:Void 原生类型/复杂类型 HttpResponseMessage IHttpActionResult Void - 没有必要所有操作方法都必须返回某些内容。它可以具有 void 返回类型。示例 using DemoWebApplication.Models using System.Web.Http; namespace DemoWebApplication.Controllers{    public class DemoController : ApiController{       public void Get([FromBody] Student student){          //某些操作       }    } }具有 void 返回类型的操作方法将返回 204 No Content 响应。原生类型/复杂类型 - 操作方法可以返回原生类型(如 int、string)或复杂类型(如 List 等)。示例 using DemoWebApplication.Models; using System.Collections.Generic; using System.Web.Http; namespace DemoWebApplication.Controllers{    public class ... 阅读更多

C# ASP.NET Web API 中 FromBody 和 FromUri 属性的区别是什么?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:46:27

6K+ 次浏览

当 ASP.NET Web API 调用控制器上的方法时,它必须设置参数的值,这个过程称为参数绑定。为了绑定模型(操作参数),通常会默认为格式化程序,我们需要使用 [FromUri] 属性从 URI 中绑定它。FromUriAttribute 只是从 ModelBinderAttribute 继承而来,它为我们提供了一个快捷指令,指示 Web API 使用 IUriValueProviderFactory 中定义的 ValueProviders 从 URI 中获取特定参数。该属性本身是密封的,不能再扩展,但是您可以根据需要添加任意数量的自定义 IUriValueProviderFactories。[FromBody] 属性… 阅读更多

C# 中 Task.WhenAll() 和 Task.WaitAll() 的区别是什么?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:40:59

7K+ 次浏览

Task.WaitAll 会阻塞当前线程,直到所有其他任务都已完成执行。Task.WhenAll 方法用于创建一个任务,只有当所有其他任务都已完成时,该任务才会完成。如果我们使用 Task.WhenAll,我们将得到一个未完成的任务对象。但是,它不会阻塞,而是允许程序执行。相反,Task.WaitAll 方法调用实际上会阻塞并等待所有其他任务完成。为了通过示例理解,让我们假设我们有一个执行 UI 线程某些活动的任务,例如某些动画需要… 阅读更多

如何在 C# 中从 URL 下载文件?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:37:22

8K+ 次浏览

可以使用 WebClient 从 URL 下载文件。它位于 System.Net 命名空间中。WebClient 类提供了用于向任何由 URI 标识的本地、内联网或 Internet 资源发送数据或从中接收数据的常用方法。WebClient 可以说是安装在计算机中并用于根据用户的请求与 Web 服务器交互的应用程序或 Web 浏览器(如 Google Chrome、Internet Explorer、Opera、Firefox、Safari)。它基本上是一个消费者应用程序,它从服务器收集处理后的数据。客户端和服务器是连接的两个部分,它们是… 阅读更多

如何在 C# 中从字符串填充 XDocument?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:35:17

1K+ 次浏览

XML 是一种自描述语言,它提供数据以及识别其包含哪些信息的规则。与 HTML 一样,XML 也是 SGML(标准通用标记语言)的子集。XDocument 类包含有效 XML 文档所需的信息。这包括 XML 声明、处理指令和注释。请注意,只有当我们需要 XDocument 类提供的特定功能时,我们才必须创建 XDocument 对象。在许多情况下,我们可以直接使用 XElement。直接使用 XElement 是一种更简单的编程模型。XDocument 派生自 XContainer。因此,它可以包含子节点。… 阅读更多

如何在 C# 中获取当前可执行文件的名称?

Nizamuddin Siddiqui
更新于 2020年8月19日 11:31:26

4K+ 次浏览

在C#中获取当前可执行文件的名称有几种方法。使用System.AppDomain - 应用域提供在不同应用域中运行的代码之间的隔离。应用域是代码和数据的逻辑容器,就像进程一样,具有独立的内存空间和对资源的访问权限。应用域也像进程一样充当边界,以避免任何意外或非法的尝试从另一个正在运行的应用程序访问一个对象的数据。System.AppDomain 类为我们提供了处理应用域的方法。它提供创建新的应用域、从内存中卸载域等方法。阅读更多

广告