问题标签 [asp.net-core-webapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4582 浏览

asp.net-core - 如何在我的 ASP.NET 核心 WebApi 项目中全局启用 CORS

我正在尝试将我的 Web Api2 迁移到 ASP.NET 核心 Web api 项目。在我的项目中,我们使用的是 EnableCors 功能。

我在 Microsoft 网站上找到了此文档,我将其用作参考 - https://docs.asp.net/en/latest/security/cors.html

如“在 MVC 中启用 CORS”部分所述,我正在尝试在 ConfigureServices 方法中全局启用 cors,如下所示 -

但是,我收到了这个我无法理解的错误-

以下方法或属性之间的调用不明确:“Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Action)”和“Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure(Microsoft.Extensions .DependencyInjection.IServiceCollection, System.Action)'

请参阅此处的错误屏幕截图 - ERROR scrrenshot

谁能告诉我如何在我的 ASP.NET 核心 WebApi 项目中全局启用 CORS?

项目.json:

0 投票
1 回答
121 浏览

asp.net-core - 将 .NET Framework 4 项目迁移到 netcoreapp1.0

我创建了框架为 netcoreapp1.0 的 .net 核心 Web 应用程序。在新创建的 Web 应用程序中,我想添加另一个 .NET Framework 版本为 4 的项目的引用。

为了解决这个问题,我创建了一个新的 .net 核心类库,并将我的代码从 Framework 4 项目复制到这个新项目,然后添加对 .net 核心 Web 应用程序的引用。

我需要这样做,因为“netcoreapp1.0”框架没有被填充到项目属性中。

在此处输入图像描述

项目娱乐是解决这个问题的唯一方法吗?

0 投票
0 回答
217 浏览

c# - EntityFrameworkCore large Insert 仅在调试模式下工作

我使用了插入代码 - 'shown down' - 将示例数据插入 MS SQL DB 。其中一个表 - '显示下来' - (插入'记录'的最后一个表)有很大的插入,在调试模式下需要 5 分钟,但是当我尝试在不调试的情况下启动项目时,数据库和 IIS-express 中的表是空的没有抛出错误

数据有超过 36,000 行和超过 40 列

假设可能是因为“连接超时”

所以我试图寻找一个解决方案,发现两个都不起作用:

1.连接字符串

2.Database.SetCommandTimeout


这里插入代码

修改自 https://github.com/aspnet/MusicStore/blob/dev/samples/MusicStore/Models/SampleData.cs



0 投票
2 回答
5163 浏览

asp.net-web-api - ASP.NET Core,以查询字符串为模板的 Web API RouteAttribute

我需要创建一个ASP.NET Core, Web API支持多个HttpGet动词的唯一区别是查询字符串,但查询字符串似乎不能成为路由模板的一部分——是这样吗?

路由模板非常相似,实际上它们只是查询字符串不同。

这会引发异常,因为?不是路由模板中的有效字符。我怎样才能做到这一点?

0 投票
2 回答
2948 浏览

angularjs - 如何获得剑道网格页面更改选项?

我已经为我的 web api 设置了 kendo UI 网格(angularJs 版本)。我已经包括服务器端分页。它为每个页面更改请求发送 take、skip、page 和 pageSize 选项。

在这里,我想在 api 中创建自己的搜索模型,将这些值绑定到 JS 对象,然后将数据发布到服务器。

我想知道是否可以获得与网格相关的事件的值,例如:页面更改、pageSize。

我要发送的自定义数据字段:`

所以需要填充服务器端的这些指定字段。为此,可以在 JS 中使用这些相同的字段创建一个对象,并且应该从网格分页事件中填充值。比如 pageNo 和 page Size。

如何使用 Angular js 做到这一点?

0 投票
5 回答
26429 浏览

c# - 如何在 ASP.NET Core Web API 中配置 JSON 格式的缩进

我如何配置 ASP.NET Core Web Api 控制器Development只为环境返回格式化的 json?

默认情况下,它返回如下内容:

为了可读性,我想在响应中缩进:

0 投票
3 回答
2647 浏览

angularjs - Angular JS MVC Web API 模型/参数未绑定 .NET Core

我正在使用带有 TypeScript 和 ASP.NET Core MVC/API 的 Angular JS。

我有一个apiService处理所有POSTGET对服务器的请求,它看起来像这样:

现在,当我发送此请求时:

它没有绑定companyId控制器中的

这是控制器:

即使当我在浏览器中检查请求时,显示 companyId 在有效负载中。

在此处输入图像描述

注意:当我发布 ViewModel 时,同样的功能有效

编辑

在上述场景中,我只将一个参数传递给控制器​​,但在某些情况下,我希望能够在不使用 ViewModel 的情况下传递 2 个或 3 个参数。

例如

或者

然后在客户端我可以这样做:

或者

0 投票
12 回答
103313 浏览

c# - 未找到配置文件“appsettings.json”且不是可选的

Azure 错误是:

.Net Core:应用程序启动异常:System.IO.FileNotFoundException:找不到配置文件“appsettings.json”,不是可选的。

所以这个有点模糊。我似乎无法确定这一点。我正在尝试将 .Net Core Web API 项目部署到 Azure,但出现此错误:

:( 糟糕。500 Internal Server Error 启动应用程序时发生错误。

我已经部署了普通的旧 .Net WebAPI,它们已经奏效了。我已经按照在线教程进行了操作,并且它们已经奏效。但不知何故,我的项目坏了。在 Web.config 上启用 stdoutLogEnabled 并查看 Azure Streaming Logs 给了我这个:

好的,这看起来很简单。它找不到 appsettings.json。查看我的配置( startup.cs ),它似乎定义得很好。我的启动看起来像这样:

这在本地运行良好。但是一旦我们发布到 Azure,就会失败。我不知所措。我创建了部署到 Azure 的新 .Net 核心项目。但是,我将所有时间投入其中的这个项目似乎失败了。我正准备将无法运行的项目中的代码复制并粘贴到新项目中,但我真的很好奇是什么破坏了这一点。

有任何想法吗?

编辑:所以我的 Program.cs 是:

Edit2:根据 Frans,我检查了 publishOptions。它是:

我从一个工作项目中获取了一个 publishOptions 并将其更改为:

它仍然给出了 500 错误,但它没有给出堆栈跟踪说它可以加载 appsettings.json。现在它正在抱怨与 SQL 的连接。我注意到很多 RC1 博客文章中都提到了我的 SQL 连接字符串代码。.Net Core 的 RC2 改变了它。所以我将其更新为:

并将我的启动更改为:

最后,它奏效了。

我一定遵循了一个较旧的 RC1 示例并且没有意识到它。

0 投票
3 回答
14261 浏览

asp.net-core - .net core 中的打印支持

我的 .net framework 4 服务使用 System.Drawing.Printing 的 PrintDocument 类进行打印。

我怎样才能在 .net 核心中实现这一点。我无法在 .net 核心中找到 System.Drawing.Printing。

有人可以指导我吗?

0 投票
3 回答
1537 浏览

asp.net-web-api - 在请求中包含 Bearer 时,出现 CORS 错误、IdentityServer4、Api、angular

登录后无法获取数据。

我将 IdentityServer4 与 WebApi 一起使用。只要我不发送任何授权书,一切都会正常进行。我正在使用 Damien Bod 的授权拦截器。

当我发送承载时,我得到了这个:

GET https://localhost:44373/api/pages/10 10:1 XMLHttpRequest 无法加载https://localhost:44373/api/pages/10。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:3000 ”。响应的 HTTP 状态代码为 500。

只要我不将 Authorization 标头添加到 http 请求,这就会起作用。

我正在使用此处找到的 IdentityServer 示例: https ://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/MVC%20and%20API/src

安全服务和授权拦截器都在这里找到: https ://github.com/damienbod/AspNet5IdentityServerAngularImplicitFlow

所以问题是在我登录并尝试从 API 检索数据后,我收到上述错误。

API - Startup.cs

授权拦截器.ts

安全服务.ts