浏览帖子: .NET核心

ASP.NET. 核心集成测试死锁的奇怪情况

测试ASP.NET核心应用的常见方法之一是使用集成测试通过这一点获得Microsoft.aspnetCore.Testhost.testhost.testhost.包裹。特别是,可以使用最常常见的场景是通过的MVC应用程序的集成测试microsoft.aspnetcore.mvc.testing.,它为测试主机的顶部提供了一组MVC特定的帮助程序。

在这篇文章中,我想在ASP.NET核心3.1应用程序中分享一个致命的死锁集成测试的情况。

继续阅读


ASP.NET. 核心MVC 3.x –addmvc(),addmvccore(),addcontrollers()和其他引导方法

有几种方法可以在ASP.NET Core 3.x的顶部引导MVC应用程序。要使用该框架需要执行的一件事是将其初始化为实际发现控制器,视图,页面并将其视为HTTP端点的状态。

I've最近有一些关于这一点的对话,它发生在我身上,这并不一定是每个人都显而易见的。那'因为有几种方式这样做,所以让'迅速贯穿他们。

继续阅读


使用.NET SDK创建常见的中间语言项目

当您编译C#,F#或VB.NET代码,这些代码是所有高级托管语言,相关编译器并不导致’t编译它到本机代码,但它将其编译为常见的介质语言.

IL代码就是时间(并不总是,但让’通过CLR / CORECLR编写的简单,可以在CPU上运行的机器代码。我今天想向你展示什么,是新的Microsoft.net.sdk.il.项目SDK,它实际上很容易在纯IL中创建和构建项目。

让’s have a look.

继续阅读



在比.NET Core 3.0旧的框架中使用Async一次性和异步枚举枚举

在.NET Core 3.0和C#8.0中引入的令人敬畏的功能之一异步流。该功能由两部分组成–异步一次性,用于异步清理,以及异步识别的异步迭代。

通常,C#语言功能是向后兼容的,无论具有目标的运行时框架如何,都可以使用。然而,在这种特殊情况下,异步流特征需要的新引入的类型是工作的,例如ariasyncdisposable. 或者 ariasyncenumerator,仅在.NET Core 3.0中添加,限制功能的使用情况到该运行时,稍后。

让'S看看如何从旧框架上唯一可符的Async一次性和异步仍然受益。

继续阅读




“Implementing”具有Dispatchproxy的.NET核心中的非公共接口

反射是.NET中的一个极大的强大概念,每个C#开发人员迟早,最终会使用。它对于许多完全诚实的方案非常有用,例如装配扫描,键入发现或各种应用程序可组合性功能。

但是,它也可以用来绕过你消耗的依赖关系的公共API表面–修改它们或访问您依赖作者没有的事物’完全设想。那样,这个过程“hacking around”对于C#开发世界来说是非常典型的,尽管有些风险,有时可能是您所处的编码果酱的唯一方式。

如果您被迫实施非公众,事情会开始变得有趣(例如 内部的 ) 界面。那时候,“basic” reflection can’不再帮忙,所以让’S看看我们如何做到。

继续阅读


ASP.NET. Core 3.0中的动态控制器路由

旧版本的ASP.NET MVC和ASP.NET核心MVC框架的路由特征中的一个巨大可扩展性点是能够在给定的控制器/动作处动态地指向它。

这有很多优秀的用例–我们将简要介绍–由于ASP.NET Core 3.0预览7,该功能实际上最终在ASP.NET核心3.0中提供(尽管没有提及官方发布博客帖子 )。

所以让’s在ASP.NET Core 3.0中查看动态路由!

继续阅读


在MVC控制器外部的ASP.NET核心中生产HTTP响应的优雅方式

ASP.NET. Core 2.1引入了一点(或者,我应该说,并非根本不说)被称为IacaptionSresultexecutor.。它允许我们使用一些动作结果 - 该方法我们用于来自MVC控制器–在控制器上下文之外,例如来自中间件组件。

克里斯蒂安有一个伟大的 博客帖子 关于结果执行者,我建议您退房。从我身边,我想今天向您展示一组最近引入的扩展方法webapicontrib.core.这使得与之合作IacaptionSresultexecutor.并且在控制器之外的一般创作HTTP端点甚至更容易。

继续阅读


页面: 12345»