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

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 投票
0 回答
53 浏览

asp.net-core - .NET 6 RC1 和 VS2022 预览版中的 Blazor wasm 托管应用程序 4 返回未找到

我遇到了有线问题,对于非常简单的完美路线,我没有找到错误。

请求网址:https://localhost:5001/api/Organization/GetRoleTypes

这是我的控制器代码

程序.cs

我缺少什么或配置不正确?上面的 url rquest 没有解析到正确的路由并返回 NOT Found

0 投票
1 回答
248 浏览

c# - 返回空 IAsyncEnumerable 时如何设置状态码 404在 ASP.NET 核心 (.NET 6)

我有一个返回 IAsyncEnumerable 的控制器操作。它查询一个数据源,如果数据可用,每个结果都是“yield return”-ed(由 System.Text.Json 序列化并返回给客户端)。但是,如果没有可用的结果,如何将状态代码设置为 404?现在,如果没有可用的结果,该方法返回一个空的 JSON 数组,状态码 = 200。

更新

一旦结果可用,我希望此流式传输到客户端。如果我返回Task<IEnumerable<string>>,那么整个列表/数组/集合必须在移交给System.Text.Json进行序列化之前完成。我不认为这是非常节省内存的。

0 投票
0 回答
552 浏览

asp.net-core - 如何在 .NET 6 RC1 中获取虚拟路径的物理路径?

该问题与 Blazor wasm 托管应用程序有关。

我正在_webHostingEnvironment控制器的构造函数中解析。

我遇到了一个问题,我没有为虚拟导演的物理路径获得正确的值。

我的应用程序会生成一个 QR 码,我需要将其存储在虚拟目录的 images 文件夹中。

首先_webHostingEnvironment.WebRootPath是总是null,因此代码总是从Directory.GetCurrentDirectory().

Directory.GetCurrentDirectory提供服务器的路径,但不提供 wwwroot 的实际部署路径,如 /bin/debug/net6.0/wwwroot。

这是有问题的代码的屏幕截图

在此处输入图像描述

现在我可以附加该静态路径以获得完整路径,但不确定在 Azure App Service 上部署它或使用其他部署模型时使用什么

0 投票
1 回答
1351 浏览

.net - 应用程序/问题+json 和 .net 6 个最小 API?

我创建了一个非常基本的项目,它只是抛出了一个异常,期望得到一个应用程序/问题+json 响应,但是我得到了一个带有错误详细信息的 html 页面。我猜这是我读过的一些帖子谈到的“开发人员异常页面”,但我没有将它添加到启动中。

完整的代码示例:

我找不到任何相关的谷歌搜索,我认为这是非常新鲜的结果。

如果不在 Visual Studio 中运行,行为会改变吗?我可以更改它以便在 Visual Studio 中运行时获得应用程序/问题+json(也)吗?

0 投票
0 回答
567 浏览

c# - ASP.NET Core 6,新的“程序”结构和初始化身份实体框架

我正在关注这个 ASP.NET Core 5 + SQL Server 教程,但使用的是 ASP.NET Core 6 + Sqlite。该教程说我应该add-migration Initial在包管理器中运行,但如果我这样做,我会得到

无法创建“ApplicationDbContext”类型的对象。有关设计时支持的不同模式,请参阅https://go.microsoft.com/fwlink/?linkid=851728

我在网上搜索并找到了这个答案,它说我应该使用传统的命名空间/类/static Main()结构而不是“顶级代码功能”。Program.cs但这是Visual Studio 2022 为项目生成的默认代码。

荒谬的是,我必须更改 MS 创建的默认项目结构以使用 MS 的数据库框架。如何在不将Program.cs结构更改为旧结构的情况下初始化数据库?

程序.cs

ApplicationDbContext.cs

0 投票
1 回答
66 浏览

c# - 当用作嵌套组件的参数时,WASM Blazor 将内部对象报告为 null (VS2022/.Net core 6)

我建立了一个非常简单的例子:

tester.razor

外部组件.razor

内部组件.razor

这里是类本身:

我一定错过了一些东西,因为每次我运行它时,我都会得到:

未处理的异常呈现组件:对象引用未设置为对象的实例。

System.NullReferenceException:对象引用未设置为对象的实例。

任何帮助将不胜感激!

0 投票
0 回答
21 浏览

visual-studio - 安装图标未显示在已发布的 WebAssembly PWA .NET 应用程序上

我已经使用 Web Assembly 模板创建了一个项目,并选中了 Progressive Web Application 复选框。(Microsoft Visual Studio Community 2022 Preview (64-bit)Version 17.0.0 Preview 5.0 and .NET core 6.0.0-rc.1.21452)。当我在本地主机中运行它时,没有对模板进行任何更改,安装图标出现在地址栏中,但发布后它不显示图标。

0 投票
2 回答
3611 浏览

autofac - 使用新的单文件模板将 Autofac 添加到 .NET core 6.0

我正在尝试将 Autofac 添加到 .Net 6.0 Web API。我正在使用生成单个启动 Program.cs 文件的最新 ASP.NET Core Web API 模板。

安装的 Autofac 版本:

安装的 .Net 6.0 版本:

以防万一,这是 Program.cs 文件的全部内容(是的,没有命名空间或类定义。​​只有 Program.cs 文件,没有 StartUp 类或 Startup.cs 文件)

我试过查看最新的 Autofac 文档,但那里的示例,尽管说 .Net Core 3.x 及更高版本似乎不适合 .Net 6.0 代码。我不知道如何将 Autofac 添加到中间件管道中。

任何帮助是极大的赞赏。

来自 Autofac 网站的代码片段

Autofac 文档:

https://docs.autofac.org/en/latest/integration/aspnetcore.html#asp-net-core-3-0-and-generic-hosting

0 投票
0 回答
45 浏览

c# - 如何在新的 ASP.NET Core 最小模板中获取“IConfiguration”?

以前,创建 ASP.NET Core 项目模板会创建两个 C# 文件Program.csStartup.cs. 在Startup类中,您将通过构造函数收到一个IConfiguration,然后您可以使用它来检索配置值。它看起来像这样:

但现在从 .NET 6 开始,有一个新模板,其中只有一个Program.cs文件,您可以在其中向 DI 容器添加服务,并配置 HTTP 请求管道。它看起来像这样(它还利用了新的 C# 9.0顶级语句功能):

现在,在这种新风格中,我怎样才能访问IConfiguration这里Program.cs

如果我做:

我收到以下警告:

ASP0000:从应用程序代码调用“BuildServiceProvider”会导致创建单例服务的额外副本。考虑替代方案,例如依赖注入服务作为“配置”的参数。

但是这里没有Configure方法,因为我没有Startup课程。

在这种情况下你应该怎么做?你如何IConfiguration在这个新模板中得到一个这里而不需要创建一个单独的Startup类?

0 投票
1 回答
180 浏览

asp.net - 在最新的 .NET 6.0 Web API 中使用旧的 ASP.NET MVC5 标识

我们有一个现有的系统,在过去六年里被成千上万的用户使用。它是在 2015 年使用MVC5 (ASP.NET Framework v4.6) 构建的。此应用程序使用身份框架对用户进行身份验证和授权。

现在我们想将现有的 MVC5 Web 应用程序实现分解为一个后端 API 和一个前端 React.js 应用程序。

对于后端,我们希望继续使用旧数据库并使用最新的.NET 6.0框架开发 Web API。

我知道身份框架中的散列技术随着时间的推移发生了变化。用户身份验证无法使用最新的身份框架的 UserManager 和 SignInManager 类与旧的基于 MVC5 身份框架的数据库来完成。

为了在使用旧的基于 MVC5 身份框架的数据库的基于 .NET 6.0 的 Web API 中对用户进行身份验证,应该做些什么?