asp.net-web-api 相关问题

ASP.NET Web API是一个用于为浏览器和移动设备等客户端构建HTTP服务的框架。它基于Microsoft .NET Framework,是构建RESTful服务的理想选择。

Docker 以 https://localhost:0/swagger 开头

我正在尝试使用 docker 运行 .Net 7 简单应用程序 来自 mcr.microsoft.com/dotnet/sdk:7.0 AS build-env 曝光 80 工作目录/src 复制 。 。 运行 dotnet 恢复 运行 dotnetpublish-cRelease-o/app/

回答 1 投票 0

System.Net.WebException:底层连接已关闭:发送时发生意外错误

我正在向服务器发送一些数据,但应用程序抛出异常。 这是代码。 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 暗淡字节作为字节...

回答 2 投票 0

如何在 Swashbuckle 文档中添加换行符?

我正在使用 swagger/swashbuckle 为 Web Api 2 中实现的 api 生成文档。 唯一可识别的 xml 文档标签是 、 和 .... 我正在使用 swagger/swashbuckle 为 Web Api 2 中实现的 api 生成文档。 唯一可识别的 xml 文档标签是 <summary>、<remarks> 和 <param>。 这意味着我无法使用 <para> 标签来格式化新行或段落中的文本,所有内容都在文档的实施说明条目中生成为连续的长段落。 有什么办法可以做到这一点吗? 我发现你只需在评论中添加 <br /> 标签即可实现此目的。 添加: /// <br /> 将导致生成的文档中换行。 另一种实现方法是创建自定义操作过滤器并使用 xml 文档标签,如下所述: https://github.com/domaindrivendev/Swashbuckle/issues/258 希望这有帮助 山姆 在 SwashBuckle.AspNetCore 中 <br /> 和 &lt;br /&gt(在 github 中建议)不起作用。 在 <remarks> 中,您可以在行尾指定反斜杠。 例如 /// <remarks> /// before. \ /// after. /// </remarks> 生成2行 before. after. 但是我无法在 <summary> 部分生成多行。 注意,如果该行有尾随空格(例如"before. \ "),反斜杠将在输出中按字面显示。 您可以在https://github.com/MNF/Samples/blob/master/SwashbuckleExample/SwashbuckleExample/Controllers/SwashBuckleTest.cs中看到我的一些尝试 发布的解决方案均不适用于较新版本的 Swagger。如果您希望注释行之间有换行符分隔,则必须为换行符添加 ///。这使得方法注释变得冗长,但在 Swagger 文档中它们将更具可读性。 /// <summary> /// Comment Line 1 /// /// Comment Line 2 /// /// Comment Line 3 /// </summary> 根据 Markdown 规范,可以通过添加双空格(两个空格)来结束行来在备注中添加新行 使用Visual Studio 2019(.net core 3.1),我可以使用html注释。 使用 <br /> 可以在一行内完成所有操作。 我还尝试过其他 html 标签,例如下划线和粗体。 /// <summary> /// test /// </summary> /// <remarks><u>underline</u> "test line 1" <br /><b>Bold</b> "test line 2" </remarks> 使用下面的结构,Swashbuckle UI 和 ReDoc UI 都可以工作: /// <summary> /// Title /// /// <para>Content line 1</para> /// <para>Content line 2</para> /// <para>Content line 3/</para> /// </summary> 重要提示:不要忽略每行末尾的空格 如果所有答案都不适合您,则在某些情况下部分有效,就像我一样。 您可以使用<br></br>。不要使用</br>。有时它会破坏 XML。 Visual Studio 显示 <br/> 的 XML 格式错误 经过长时间的搜索,我发现 *** 代表粗体文本,我知道它不是同一主题,但我很确定这对这里的人有用! 示例: ***400 - BadRequest When any parameter is out of specification.*** 我使用 Visual Studio 2022 和 openapi 版本 3.0.1 作为默认值, 要完整的文档,你可以这样做, 首先:确保您在项目中启用了 XML 文档,如下所示: 编辑您的 .csproj 文件(我的项目是 .net core 7,您也可以对 core 8 执行此操作): <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <GenerateDocumentationFile>true</GenerateDocumentationFile> <DocumentationFile>bin\Debug\net7.0\WebApi.xml</DocumentationFile> <NoWarn>$(NoWarn);1591</NoWarn> </PropertyGroup> 这将在路径 bin\Debug 处创建 WebApi.xml 文件 et7.0\ 每当您构建项目时。 注意: 如果所有方法都没有 XML 注释,NoWarn 会抑制警告。 现在您可以为自定义文档添加多行和示例,如下所示: /// <summary> /// Latest Version: 1.0.2 /// </summary> /// <remarks> /// ### Version Walkthrough: /// /// #### Version 1.0.0 (Base Version): /// /// ```json /// { /// "version": "string", // Optional, 1.0.0 is Default /// "defParam1": 0, // Mandatory /// "defParam2": "string" // Mandatory /// } /// ``` /// /// #### Version 1.0.1: /// /// ```json /// { /// "newParam1": "string", // Added in ver1.0.1 for specific feature /// "newParam2": "string" // Added in ver1.0.1 for another feature /// } /// ``` /// /// #### Version 1.0.2: /// /// ```json /// { /// "newParam3": "string" // Added in ver1.0.2 for new functionality /// } /// ``` /// /// ### Example Request: /// /// ```json /// { /// "version": "1.0.2", /// "defParam1": 123, /// "defParam2": "sample data", /// "newParam3": "new data" /// } /// ``` /// </remarks> /// <response code="201">Returns the newly created item</response> /// <response code="400">If the item is null</response> /// <response code="401">Authorization is failed</response> [HttpPost] public ProcedureVersioningViewModel GetAllProcedureVersion(GetProcedureVerionResponseItemViewModel model) { return _procedureVersionService.GetAllProcedureVersion(model); } 输出是这样的(我如何向 swagger 添加一些 CSS 和样式以使其 UI 更漂亮):

回答 10 投票 0

Angular 中大数的处理精度

我有 .Net Web API,它将从第三方 API 收到的数据返回给我面向 Angular 应用程序的用户。 当 API 返回像 999,999,999,999,999.99 这样的大数字时,Angular 会将其更改为 10,00...

回答 3 投票 0

无法使用 LINQ 删除员工记录

我正在尝试使用 asp.net web Api 中的 LINQ 根据主键 EmpId(EmpId 也是表 Salary 的外键)从 Employee 表中删除一条记录。但我收到错误...

回答 2 投票 0

在Web API中正确实现IAuthorizationFilter

我无法弄清楚如何使用 System.Web.Http.Filters 中的 IAuthorizationFilter 在 Web API 中实现授权过滤器。 这是我编写的一个简单的过滤器,用于响应所有非 h...

回答 2 投票 0

为什么我的异步 ASP.NET Web API 控制器阻塞主线程?

我有一个 ASP.NET Web API 控制器,我原以为它会异步操作。控制器设计为在第一个请求时休眠 20 秒,但为任何后续请求提供服务

回答 2 投票 0

EF SaveChanges 不保存且不抛出异常

我有一个方法可以创建一个新用户,然后在用户权限表中插入一行,但没有任何反应。这是我的代码: // 之前:创建用户 var 权限 = new UserPermission(...

回答 3 投票 0

当我尝试确认电子邮件时,令牌无效,ASP .NET Core 6 身份

我正在努力确认 ASP.Net Core 6 中的电子邮件。 我正在使用 userManager.ConfirmEmailAsync 来确认我要验证的电子邮件, 最近我取消了

回答 3 投票 0

xUnit 测试中的 LINQ 表达式

如何在 xUnit 中模拟这部分代码 var 更新成本 = 等待 _costOfConsomption.DeferredWhere(x => x.Id == model.CostOfConsomptionId).FirstOrDefaultAsync() ?? ...

回答 1 投票 0

非阻塞套接字操作无法立即完成

private void DoConnect(EndPoint endPointSnapshot, SocketAddress 套接字地址) { SocketsTelemetry.Log.ConnectStart(socketAddress); SocketError 错误代码; 尝试 { 错误代码 =

回答 1 投票 0

VM1 上遇到问题:System.InvalidOperationException – IDX20803:无法从“System.String”获取配置

我们有两台服务器,VM1 和 VM2,我们在其中托管 Web 应用程序和 API,并且我们正在使用负载均衡器。对于身份验证和授权,我们使用 IdentityServer4。但是,我们...

回答 1 投票 0

Postman请求时为200状态,但从浏览器请求时为401

我的 API 调用(Asp.Net WebAPI 和 Angular)遇到了令人沮丧的问题。我使用不记名令牌授权来授权请求。当我从 Postman 向 API 发出请求时,它返回 200 ...

回答 2 投票 0

为什么我会收到操作错误的冲突方法/路径组合?

具体错误是: SwaggerGeneratorException:操作的方法/路径组合“GET 练习”冲突 - FitnessTracker.Controllers.ExerciseController.GetExerciseList(FitnessT...

回答 2 投票 0

.net Core Web API 将 Json 序列化为字符串

我有一个 .NET Core Web api 应用程序,我将其用作另一个第三方 api 的代理。我有一些端点,我有一个控制器,但我也充当所有第三方 api 的代理...

回答 1 投票 0

尚未为此应用程序配置会话或请求错误

我对asp.net非常陌生,最近我遇到了这个异常: 系统无效操作异常 异常的详细信息如下: 尚未为此应用程序配置会话或

回答 9 投票 0

HttpContext 不包含 GetOpenIddictServerRequest 的定义

var request = HttpContext.GetOpenIddictServerRequest(); 我是否缺少任何名称空间?

回答 3 投票 0

DeepL API - 我正在使用 DeepL .net API 进行文档翻译 - 翻译大文件时出现错误

我已经使用 DeepL DotNet API 实现了翻译器。我有 DeepL Pro 帐户。 我已经实现了.net框架Web api,我使用deepl Pro帐户进行翻译。我正在使用我的网络...

回答 1 投票 0

如何使用 ASP.net Core 高效过滤 RestApi 中的结果集

我目前正在改进我们公司已使用多年的旧 API。我有一个特定的端点调用 GetBookings 接受大量参数: 公共 HttpResponseMessage

回答 1 投票 0

未找到 ASP.NET 视图

我在 Visual Studio 中创建了一个 Web API 项目。我正在使用属性路由。这是 Controllers 文件夹下的控制器: 公共类注册控制器:控制器 { // 获取:注册...

回答 2 投票 0

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