asp.net-core-webapi 相关问题

有关不依赖于MVC视图或Razor页面的ASP.NET核心Web API和Web应用程序的问题

Ubuntu 上的 docker ASP.NET Core 8 HTTPS 中的 pfx 证书出现权限被拒绝错误

我正在尝试在 ubuntu 22.04 VM 上的 docker 中托管 HTTPS Web API。我正在按照以下文档进行操作:https://learn.microsoft.com/en-us/aspnet/core/security/docker-https?view=aspnetcore-8.0...

回答 1 投票 0

Web API 从 .NET Framework 4.7 升级到 .NET 8 后,控制器无法获取请求的正文值

因此,将 ASP .NET Web API 从 .NET Framework 升级到 .NET 8 后,所有控制器的端点都无法从请求正文中获取任何值。即使控制器无法获得

回答 1 投票 0

ASP.NET Core 8 Web API 中的 IExceptionHandler 不起作用

我正在尝试使用.NET 8 的新 IExceptionHandler。 我有一个 ExceptionHandler 类: 公共类异常处理程序:IExceptionHandler { 公共异步 ValueTask TryHandleAsync(

回答 1 投票 0

在.net中的同一进程中托管多个Web API

我们有一个微服务架构,每个微服务当前都托管在自己的进程中,并通过自己的 Docker 镜像进行部署。课本完全分开。 在源代码级别上,所有这些...

回答 1 投票 0

ASP.NET Core Web API 找不到我的 DbContext

我有一个 ASP.NET Core Web 应用程序,我在其中添加了 DbContext: 字符串连接字符串 = builder.Configuration .GetConnectionString("默认连接") ??扔新的

回答 1 投票 0

ASP.NET Core Web API 中模型状态验证中的原始值始终为 null

这是我的自定义响应模型: 受保护的错误GenerateError() { 错误错误=新错误(); var 详细信息 = 新列表(); if (!ModelState.IsValid) { foreach (v...

回答 1 投票 0

如何从HttpContext获取请求体

我尝试从 ASP.NET Core 8.0 Web API 中的过滤器访问请求正文,但请求正文始终为空,即使我传递正文也是如此。 筛选: 使用 Azure.Core; 使用后端.Log; 使用

回答 1 投票 0

Hangfire 循环作业调用方法是使用现有服务启动

我正在尝试设置 Hangfire 以使用独立方法在 Startup.cs 中运行重复作业。为此,我需要获取一些已经注入的 ApplicationServices。但工作执行...

回答 2 投票 0

ASP.Net Core Web API URL 调用被重新路由到 Angular 项目

我有一个使用 Visual Studio 2022 版本 17.9.0 的 ASP.Net Core 8 和 Angular 17 项目。 我正在使用新的“Angular 和 ASP.Net Core”项目模板。我只是有一个坚持者

回答 1 投票 0

如何在swagger中为IFormFile结合其他属性获取上传按钮?

我使用 Swagger 创建了一个 Asp.net core 3.1 Web api 来将文件上传到服务器。下面的代码工作正常: [HttpPost("PostFile")] 公共 ActionResult PostFile(IFormFile

回答 3 投票 0

如何在.net core 6 API中取消传入请求?

在.NET core 6 API应用中。如果需要超过 x 分钟才能完成服务层中的调用并返回 504 状态代码,我想取消传入请求。在我的服务中...

回答 1 投票 0

ASP.NET Core Web API 自定义 ApiKey 过滤器无法在 Cloud 中检索 IConfiguration 及其值,但可以在 DEV 中工作

我们正在运行一个微服务架构应用程序。 OAuth 应用程序 --> 它是一个 ASP.NET Core 7.0 Web API,可帮助用户登录/注册等。 主要应用程序 --> ASP.NET Core 3.1

回答 1 投票 0

调用 ASP.NET Core 6 Web API 时,收到错误消息 400 bad request

有点奇怪。如果以下程序都在ASP.NET Core 6 MVC项目中,就没有问题。 但如果你把程序分开。 Ajax 在 ASP.NET Core 6 MVC 项目中,而 C#

回答 1 投票 0

Angular 前端引发 System.Nullable 错误,而不触发 bakcend 中的端点方法

在开发中,我们设计用户单击按钮,然后将POST请求发送到后端。然后将调用端点方法并在数据库中创建一个新条目。然后创建...

回答 2 投票 0

Azure AD Auth、Angular 和 .NET API 与图形:MSAL.UiRequiredException 修复了吗?

我面临以下情况:我在 Azure AD 中有两个应用程序注册 - 一个 Angular 17 Web 应用程序和一个带有 .NET 6 的 REST API。我已通过 Azure AD 设置了身份验证/授权。 A...

回答 1 投票 0

webapi 核心 [FromQuery] dto 模型忽略 [Required(AllowEmptyStrings = true)]

我有一个带有两个参数的控制器端点 从身体发出 使用 dtoModel 作为查询字符串参数发送 我使用 [FromQuery] 作为第二个对象,因为我无法在 ...

回答 1 投票 0

Azure 应用服务连接字符串不起作用

我正在开发一个 asp.net core web api 项目及其托管在 azure 应用程序服务上。我正在尝试的是将我的 cosmos db 连接字符串放入应用程序服务连接字符串中。我添加了一个文档数据库...

回答 1 投票 0

Vue3 Web 应用程序和 C# .NET CORE Web API 本地主机测试之间的 Rest 调用期间存在 CORS 问题

我已经构建了一个极其简单的“hello world”等效的 Web API 代码,以确保我的连接正常工作。 [允许匿名] [http邮报] [路线(“BaseTest”)] 公共异步任务 我构建了一个极其简单的“hello world”等价的 Web API 代码,以确保我的连接正常工作。 [AllowAnonymous] [HttpPost] [Route("BaseTest")] public async Task<string> BaseTest() { return "TESTING"; } 还有从该 API 获取的 Vue 3 前端 fetch('https://localhost:7209/MapData/BaseTest', { method: 'POST', headers: { "Content-Type": "application/json", "x-access-token": "token-value", }, crossorigin: true, mode: 'no-cors', }).then(response => alert(response)); 响应是一个响应对象。状态为 null,ok 为 false,类型为 opaque。 当我在邮递员中执行相同的 post 调用时,我收到了字符串“TESTING”,如预期的那样。 我应该检查什么和/或我的错误是什么? 我希望有一个非常简单、非常容易完成的“Hello World”等价物,在 Vue 3 应用程序上收到“TESTING”。相反,它惨遭失败。 我尝试通过以下方式访问响应数据: response.text() response.json() 响应下还有一些其他成员变量;有些只是充满希望的想法。 我已确认回复已返回: ok = false type = opaque status = '' statusText = '' 我尝试捕获任何可能抛出的错误,但没有收到任何错误。 我尝试过将Web API调整为同步或返回ActionResults,但都不起作用。 我已经验证,在对此 URL 进行 POST 调用时,swagger 测试页面和邮递员都能够接收简单的“TESTING”响应。 编辑1: 我已经调整了我的代码以尝试以下操作: C# 端点 尝试 #1: ... [EnableCors("LocalHostOrigins")] [AllowAnonymous] [HttpPost] [Route("BaseTest")] public async Task<String> BaseTest() { return "TESTING"; } ... C# Program.cs 尝试 #1: builder.Services.AddCors(options => { options.AddPolicy(name: LocalHostOrigins, policy => { policy.WithOrigins("https://localhost:5173", "http://localhost:*"); }); options.AddPolicy(name: AllOrigins, policy => { policy.WithOrigins("*"); }); }); ... app.UseCors(); C# 端点 尝试 #2: [EnableCors] [AllowAnonymous] [HttpPost] [Route("BaseTest")] public async Task<String> BaseTest() { return "TESTING"; } C# Program.cs 尝试 #2: builder.Services.AddCors(options => { options.AddDefaultPolicy(policy => { policy.WithOrigins("*:*"); }); }); ... app.UseCors(); C# 端点 尝试 #3: [EnableCors] [AllowAnonymous] [HttpPost] [Route("BaseTest")] public async Task<String> BaseTest() { return "TESTING"; } C# Program.cs 尝试 #3: builder.Services.AddCors(options => {}); ... app.UseCors(builder => { builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader(); }); ... Vue3 Web 应用程序,在所有场景中: ... fetch('https://localhost:7209/MapData/BaseTest') .then(response => alert(response)); // [object Response] fetch('https://localhost:7209/MapData/BaseTest') .then(response => alert(response.text())); // [object Promise] fetch('https://localhost:7209/MapData/BaseTest') .then(response => response.text()) .then(data => alert(data)); // empty string ... 我目前担心的是,即使在 CORS 似乎按预期和期望运行的情况下,我的请求仍然会带有空数据。 我使用下面的代码进行测试,没有遇到同样的问题。 如果我评论app.UseCors("CorsPolicy");,我的页面应该有如下的cors问题。使用catch可以捕获错误。 成功图 完整代码 测试API.vue <template> <div> <button @click="testApi">Test API</button> <p v-if="apiResponse">{{ apiResponse }}</p> <p v-if="error">{{ error }}</p> </div> </template> <script> export default { data() { return { apiResponse: null, error: null, }; }, methods: { testApi() { fetch('https://localhost:7180/BaseTest', { method: 'POST', headers: { "Content-Type": "application/json", "x-access-token": "token-value", }, }) .then(response => { if (!response.ok) { throw new Error('Network response is not ok'); } return response.text(); }) .then(data => { this.apiResponse = data; }) .catch(error => { console.error('API Invoke Error:', error); this.error = error.stack; }); }, }, }; </script> 程序.cs namespace WebApplication1 { public class Program { public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); // allow all Origin builder.Services.AddCors(options => options.AddPolicy("CorsPolicy", builder => { builder.AllowAnyMethod() .SetIsOriginAllowed(_ => true) .AllowAnyHeader() .AllowCredentials(); })); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); // add this line app.UseCors("CorsPolicy"); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run(); } } }

回答 1 投票 0

重试请求时如何调用 x-HttpMessageHandlers?

简而言之:我想在重试请求时执行 x-HttpMessageHandlers。 实现:目前我添加了一个 HttpClient,该请求由 Logging 和 PolicyHandler 处理: 建设者。

回答 2 投票 0

避免 IIS 服务器出现登录提示进行 Windows 身份验证

我有一个Web应用程序将托管在Intranet IIS服务器中。要求是登录端点应执行 LDAPS 身份验证。在本地开发环境中一切顺利。 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.