找到 2628 篇文章 关于 C#
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){ ... 阅读更多
11K+ 浏览量
过滤器用于在 WebApi 框架请求处理的不同级别注入额外的逻辑。过滤器为横切关注点(日志记录、授权和缓存)提供了一种方法。可以通过声明式或编程方式将过滤器应用于操作方法或控制器。以下是 Web API C# 中的过滤器类型。身份验证过滤器 - 身份验证过滤器帮助我们验证用户详细信息。在身份验证过滤器中,我们编写用于检查用户真实性的逻辑。授权过滤器 - 授权过滤器负责检查用户访问权限。它们在框架中实现 IAuthorizationFilter 接口。操作过滤器 - 操作过滤器用于添加额外的 ... 阅读更多
6K+ 浏览量
跨源资源共享 (CORS) 是一种机制,它使用额外的 HTTP 标头来告诉浏览器允许在一个来源中运行的 Web 应用程序访问来自不同来源的选定资源。当 Web 应用程序请求其自身来源(域、协议或端口)不同的资源时,它会执行跨源 HTTP 请求。例如,让我们考虑一个应用程序,它具有前端(UI)和后端(服务)。假设前端是从 https://demodomain-ui.com 提供服务的,而后端是从 https://demodomain-service.com/api 提供服务的。如果最终用户尝试访问该应用程序,出于安全 ... 阅读更多
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; ... 阅读更多
7K+ 浏览量
Web API 操作方法可以具有以下返回类型。Void原始类型/复杂类型HttpResponseMessageIHttpActionResultVoid - 不一定所有操作方法都必须返回某些内容。它可以具有 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 ... 阅读更多
6K+ 浏览量
当 ASP.NET Web API 调用控制器上的方法时,它必须为参数设置值,这个过程称为参数绑定。为了绑定一个模型(一个操作参数),通常默认为格式化程序,从 URI 中我们需要用 [FromUri] 属性装饰它。FromUriAttribute 只是从 ModelBinderAttribute 继承,为我们提供了一个快捷指令来指示 Web API 使用 IUriValueProviderFactory 中定义的值提供程序从 URI 中获取特定参数。该属性本身是密封的,不能再扩展,但您可以根据需要添加任意数量的自定义 IUriValueProviderFactories。[FromBody] 属性 ... 阅读更多
7K+ 浏览量
Task.WaitAll 会阻塞当前线程,直到所有其他任务都已完成执行。Task.WhenAll 方法用于创建一个任务,该任务仅当所有其他任务都已完成时才会完成。如果我们使用 Task.WhenAll,我们将获得一个未完成的任务对象。但是,它不会阻塞,而是允许程序执行。相反,Task.WaitAll 方法调用实际上会阻塞并等待所有其他任务完成。为了用一个例子来理解,假设我们有一个任务在 UI 线程上执行某些活动,例如某些动画需要 ... 阅读更多
8K+ 浏览量
可以使用 Web 客户端从 URL 下载文件。它位于 System.Net 命名空间中。WebClient 类提供用于向任何本地、内联网或 Internet 资源(由 URI 标识)发送数据或接收数据的常用方法。Web 客户端可以说是一个应用程序或 Web 浏览器(如 Google Chrome、Internet Explorer、Opera、Firefox、Safari),它安装在计算机中并用于根据用户的请求与 Web 服务器交互。它基本上是一个消费者应用程序,它从服务器收集处理后的数据。客户端和服务器是连接的两个部分,它们是两个 ... 阅读更多
1K+ 浏览量
XML 是一种自描述语言,它不仅提供数据,还提供识别数据包含哪些信息的规则。与 HTML 一样,XML 是 SGML(标准通用标记语言)的子集。XDocument 类包含有效 XML 文档所需的信息。这包括 XML 声明、处理指令和注释。请注意,只有在我们需要 XDocument 类提供的特定功能时,才需要创建 XDocument 对象。在许多情况下,我们可以直接使用 XElement。直接使用 XElement 是一种更简单的编程模型。XDocument 派生自 XContainer。因此,它可以包含子节点。... 阅读更多
4K+ 浏览量
有几种方法可以在 C# 中获取当前可执行文件的名称。使用 System.AppDomain -应用程序域在不同应用程序域中运行的代码之间提供隔离。应用程序域就像进程一样,是代码和数据的逻辑容器,并具有独立的内存空间和对资源的访问权限。应用程序域也像进程一样充当边界,以避免任何意外或非法的尝试从一个正在运行的应用程序访问另一个应用程序中对象的 数据。System.AppDomain 类为我们提供了处理应用程序域的方法。它提供创建新应用程序域、从内存中卸载域等方法... 阅读更多