Tag: asp.net core 2.0

MassTransit saga / statemachine没有将请求响应返回给控制器

我觉得我已经接近这个工作但似乎无法让它超越线路…… 我有一个带有saga /状态机的.NET核心ASP应用程序,似乎在大多数情况下运行良好。 它: 收到请求 发布由路由单拾取的事件 当路由单完成时,它会发布一个事件 这个事件被传染了 然后,saga将请求发送给请求/响应使用者 响应回到了传奇 然后,然后我使用RespondAsync尝试将响应发送回原始呼叫控制器但是没有任何回复 我的控制器看起来像: private readonly IRequestClient _client; public async Task CreateLinkAsync([FromBody]CreateLinkRequest request) { var requestLink = new RequestLink { GroupName = $”{request.Name} Group”, Name = request.Name, LinkId = Guid.NewGuid() }; var result = await _client.Request(requestLink).ConfigureAwait(false); return Ok(); } 我的传奇的减少版本看起来像: Request(() => LinkRequest, x => x.RequestId, cfg […]

hosting.json有什么意义,因为appsettings.json就足够了

在.NET Core 2 Web API应用程序中,我可以使用appsettings.json覆盖配置urls ,但在官方文档中他们引入了额外的文件“hosting.json”,为什么? 增加复杂性有什么意义? 下面的代码完全使用appsettings.json : public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) //see Side note below .AddJsonFile(“appsettings.json”, optional: true) .AddCommandLine(args) .Build(); return WebHost.CreateDefaultBuilder(args) .UseConfiguration(config) .UseStartup() .Build(); } } appsettings.json内容: { “Logging”: { “IncludeScopes”: false, […]

在.net Core 2.0中设置环境变量

我正在尝试在我的.net核心2.0应用程序中设置多个环境,请参阅下面的代码。 配置文件(Launch.JSON) “configurations”: [ { “name”: “.NET Core Launch (web)”, “type”: “coreclr”, “request”: “launch”, “preLaunchTask”: “build”, // If you have changed target frameworks, make sure to update the program path. “program”: “${workspaceRoot}/my.api/bin/Debug/netcoreapp2.0/my.api.dll”, “args”: [], “cwd”: “${workspaceRoot}/my.api”, “stopAtEntry”: false, “requireExactSource”: false, “internalConsoleOptions”: “openOnSessionStart”, “launchBrowser”: { “enabled”: true, “args”: “${auto-detect-url}”, “windows”: { “command”: “cmd.exe”, “args”: “/C start […]

HTTP错误404.13 – asp.net核心2.0

HTTP错误404.13 – 未找到请求筛选模块配置为拒绝超过请求内容长度的请求。 validationapplicationhost.config或web.config文件中的configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength设置。 我不知道在哪里可以配置它,在asp.net核心2中有更改使用appsettings.json而不是。 甚至尝试这样做,但它不起作用。 services.Configure(options => { options.MultipartBodyLengthLimit = 300_000_000; });

在.Net Core 2.0和Angular中使用’dotnet publish’时找不到模块’aspnet-webpack’

我一直试图按照这个问题的答案,但无济于事。我正在尝试使用命令行命令’dotnet publish’发布我的.Net Core 2.0和Angular项目我成功发布,但是当我尝试运行我的项目时。在已发布的文件夹中,我的项目在开发环境中运行时吐出此错误: 未处理的exception:System.AggregateException:发生一个或多个错误。 (Webpack dev中间件因加载’aspnet-webpack’时出错而失败。错误是:错误:无法找到模块’aspnet-webpack’ 在Production中运行并允许DeveloperExceptionPage(如下面的statup.cs所示).netcore应用程序运行,但在实际的Web应用程序中崩溃,我认为是由于更大的错误,找不到aspnet-webpack: NodeInvocationException:Uncaught(在promise中):错误:找不到HomeComponent的组件工厂。 你有没有把它添加到@ NgModule.entryComponents? Startup.cs public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } // […]

从.NET Core 2中的类读取appsettings.json

我需要从业务类中的appsettings.json文件(section: placeto )中读取属性列表,但我无法访问它们。 我需要公开这些属性。 我在Program类中添加了该文件: 这是我的appsettings.json : { “Logging”: { “IncludeScopes”: false, “LogLevel”: { “Default”: “Warning” } }, “placeto”: { “login”: “fsdfsdfsfddfdfdfdf”, “trankey”: “sdfsdfsdfsdfsdf” } }

ASP.NET Core 2.0中缺少声明转换支持

我在我的新asp.net核心2.0 api应用程序中使用JWT Bearer auth并希望为当前身份添加一些额外声明。 这个额外的信息位于需要查询的另一个api中。 我的理解是,索赔转换将是适当的地方。 在.net核心1.1中,您在Microsoft.AspNetCore.Authentication nuget包中有IClaimsTransformer接口,但我无法在我的.net核心2.0应用程序中安装此接口。 是否有另一种方法来转换asp.net core 2.0中的声明,这是我的用例的正确方法吗?

在IServiceCollection扩展中获取服务

我有这个扩展名 public static class ServiceCollectionExtensions { public static IServiceCollection MyExtension(this IServiceCollection serviceCollection) { … } } 我需要从这样的服务获取信息: services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options => { var myService = <>(); options.TokenValidationParameters = this.GetTokenValidationParameters(myService); }); 我怎样才能做到这一点? 我尝试在var serviceProvider = services.BuildServiceProvider();之后获取ServiceProvider var serviceProvider = services.BuildServiceProvider(); 然后我发送serviceProvider ,但这不起作用..

ASP.Net Core 2配置占用了大量内存。 如何以不同方式获取配置信息?

好的,所以我有一个应用程序可以获得相当多的流量。 我一直在与Microsoft Azure和Coding团队合作解决内存问题。 他们已经看到了GB的日志,以及当我们处于高负荷状态时,发现Microsoft.Extensions.Configuration代码占据了RAM的大部分份额。 在我的API代码中,我有一个“基本控制器”,所有其他控制器都inheritance自。 这允许我分享常用方法等。 在这个基本控制器中,我创建了一个全局变量: public IConfigurationRoot _configuration { get; } 我相信这是罪魁祸首……但我不知道如何摆脱它。 这个_configuration变量允许我访问我的appsettings.json环境变量。 我不知道如何以不同的方式访问这些。 例如……在GET调用中,我需要知道是否有缓存。 bool isCaching = bool.Parse(_configuration[“Data:Cache”]); 我有一个想法是将_configuration设置为BaseController私有,并在其中创建方法以获取我需要的属性(即缓存),以便其他控制器不必传递此_configuration对象。 不确定是否私有会做任何事情,但….

如何在aspnet.core web api中validationJWT令牌?

我创建了自定义中间件类来validationJWT令牌。 我在configure方法中的app.AddMvc()之前调用此方法。 *** 我想知道我应该添加哪些东西来配置服务来使用JWTvalidation我的Web API? 我在Controller类中添加了[Authorize] 我是否需要调用我的中间件类,它首先在Configure方法中validationJWT令牌? 或者我应该调用App.UseAuthentication()我使用以下顺序: app.UseAuthentication(); app.MessageHandlerMiddleware(); app.UseMvc(); 我是.net web API实现的新手。 你能帮帮我吗?