jjzjj

c# - 测试 ASP.NET Core IMemoryCache 的正确方法

我正在编写一个简单的测试用例来测试我的Controller在调用我的服务之前调用缓存。我正在使用xUnit和Moq来完成这项任务。我遇到了一个问题,因为GetOrCreateAsync是一种扩展方法,框架不能模拟这些方法。我依靠内部细节来弄清楚我可以模拟TryGetValue相反,逃避我的测试(参见https://github.com/aspnet/Caching/blob/c432e5827e4505c05ac7ad8ef1e3bc6bf784520b/src/Microsoft.Extensions.Caching.Abstractions/MemoryCacheExtension

c# - 在 .NET Core 1.0 中在运行时编译和运行代码

是否可以在新的.NETCore(更好的.NET标准平台)中在运行时编译和运行C#代码?我看过一些示例(.NETFramework),但它们使用的NuGet包与netcoreapp1.0(.NETCoreApp,Version=v1.0)不兼容 最佳答案 选项#1:使用完整的C#编译器编译程序集,加载它,然后从中执行方法。这需要以下包作为project.json中的依赖项:"Microsoft.CodeAnalysis.CSharp":"1.3.0-beta1-20160429-01","System.Runtime.Loader":

c# - .NET Core 有 Rx.NET 吗?

找到https://github.com/Reactive-Extensions/Rx.NET/issues/148,但我无法弄清楚底线-.NETCore的Rx.NET在哪里以及如何获得它?我正在使用安装了.NETCore的EnterpriseVisualStudio2015Update3。 最佳答案 是的,但是Rx.NET命名空间和包已经重命名为System.Reactive为describedhere.TheNuGetpackageshavechangedtheirpackagenaminginthemovefromv2.x.x

c# - 无法使用 ASP.NET Core 从 JWT token 获取声明

我正在尝试使用ASP.NETCore执行JWT持有者身份验证的非常简单的实现。我从Controller返回的响应有点像这样:varidentity=newClaimsIdentity();identity.AddClaim(newClaim(ClaimTypes.Name,applicationUser.UserName));varjwt=newJwtSecurityToken(_jwtOptions.Issuer,_jwtOptions.Audience,identity.Claims,_jwtOptions.NotBefore,_jwtOptions.Expiration,_jwt

c# - 如何从 AuthorizationHandler .NET Core 获取参数

我正在使用授权处理程序将自定义授权放入我在.net核心中的Controller中。如何从Controller获取参数并将其用于授权处理程序?在旧的.NET中,我可以像这样从HttpContext请求参数中获取参数:vareventId=filterContext.RequestContext.HttpContext.Request.Params["id"];我不确定如何在.netcore中实现它publicclassHasAdminRoleFromAnySiteRequirement:AuthorizationHandler,IAuthorizationRequirement{publ

c# - EF Core 的 HasColumnName 发生了什么变化?

所以我试图将一个内部属性映射到我的数据库,并根据这个articleonline这就是你应该做的。我发现的其他资源也告诉我做同样的事情。无论出于何种原因,该方法不存在,我也无法在网上找到他们重命名的内容,或者他们是否只是删除了该方法。这是我的代码:publicclassCriteria:DbEntity{internalstring_Condition{get;set;}[NotMapped]publicConditionCondition{get{returnstring.IsNullOrEmpty(_Condition)?null:JsonConvert.DeserializeObj

c# - 使用 Postman 上传 ASP Core WebApi 测试文件

我创建了一个接受任意文件的端点:[HttpPost()]publicasyncTaskCreateFile(IFormFilefile)当我用Postman测试时,file总是空的。这是我在Postman中所做的:我做错了什么? 最佳答案 感谢@rmjoia的评论,我让它工作了!这是我在Postman中必须做的事情: 关于c#-使用Postman上传ASPCoreWebApi测试文件,我们在StackOverflow上找到一个类似的问题: https://st

c# - 在 .NET Core 中设置自定义 <OutputPath>(停止添加框架目标)?

这个问题在这里已经有了答案:HowdoIset`OutputPath`inaVisualStudio2017project(new.csprojfileformat)withoutthetargetframeworkclutteringtheresolvedpath?(2个答案)关闭5年前。在传统的.NET应用程序中,可以设置自定义.csproj中的一个组件文件(或通过项目属性对话框)。例如的路径bin\$(Configuration)\$(Platform)结果bin\Debug\AnyCPU.我有独立于当前构建配置设置这些值的习惯(在它自己的ItemGroup中,连同Documen

c# - ASP.NET Core 2 种子数据库

这个问题在这里已经有了答案:HowtoseedinEntityFrameworkCore2?(9个回答)关闭4年前。我已经在SO上看到了一些与此相关的类似示例,但我对这种语言的了解还不够多,还看不出我做错了什么。我拼凑了一个演示以了解更多信息,但我在为数据库做种时遇到问题。我收到以下错误:InvalidOperationException:Cannotresolvescopedservice'demoApp.Models.AppDbContext'fromrootprovider.Microsoft.Extensions.DependencyInjection.ServiceLooku

c# - 如何在 ASP.NET Core Web Api 中完成版本控制

在之前的asp.netwebapi中,我实现了DefaultHttpControllerSelector来指定我希望请求如何定位我的Controller。我经常有不同名称但用于相同进程的不同Controller。唯一的区别是一个版本比另一个版本高。例如,我可以有一个名为BookingV1Controller的Controller,用于处理服务的第一个版本。我还会有BookingV2Controller,它旨在处理服务的第二个版本。然后,客户端应用程序将使用此urlhttp://myservice.com/api/v2/booking/someaction?id=12向服务发出请求。为了