问题标签 [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.
asp.net-core - .NET 6 RC1 和 VS2022 预览版中的 Blazor wasm 托管应用程序 4 返回未找到
我遇到了有线问题,对于非常简单的完美路线,我没有找到错误。
请求网址:https://localhost:5001/api/Organization/GetRoleTypes
这是我的控制器代码
程序.cs
我缺少什么或配置不正确?上面的 url rquest 没有解析到正确的路由并返回 NOT Found
c# - 返回空 IAsyncEnumerable 时如何设置状态码 404在 ASP.NET 核心 (.NET 6)
我有一个返回 IAsyncEnumerable 的控制器操作。它查询一个数据源,如果数据可用,每个结果都是“yield return”-ed(由 System.Text.Json 序列化并返回给客户端)。但是,如果没有可用的结果,如何将状态代码设置为 404?现在,如果没有可用的结果,该方法返回一个空的 JSON 数组,状态码 = 200。
更新
一旦结果可用,我希望此流式传输到客户端。如果我返回Task<IEnumerable<string>>
,那么整个列表/数组/集合必须在移交给System.Text.Json进行序列化之前完成。我不认为这是非常节省内存的。
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 上部署它或使用其他部署模型时使用什么
.net - 应用程序/问题+json 和 .net 6 个最小 API?
我创建了一个非常基本的项目,它只是抛出了一个异常,期望得到一个应用程序/问题+json 响应,但是我得到了一个带有错误详细信息的 html 页面。我猜这是我读过的一些帖子谈到的“开发人员异常页面”,但我没有将它添加到启动中。
完整的代码示例:
我找不到任何相关的谷歌搜索,我认为这是非常新鲜的结果。
如果不在 Visual Studio 中运行,行为会改变吗?我可以更改它以便在 Visual Studio 中运行时获得应用程序/问题+json(也)吗?
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
c# - 当用作嵌套组件的参数时,WASM Blazor 将内部对象报告为 null (VS2022/.Net core 6)
我建立了一个非常简单的例子:
tester.razor:
外部组件.razor:
内部组件.razor:
这里是类本身:
我一定错过了一些东西,因为每次我运行它时,我都会得到:
未处理的异常呈现组件:对象引用未设置为对象的实例。
System.NullReferenceException:对象引用未设置为对象的实例。
任何帮助将不胜感激!
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)。当我在本地主机中运行它时,没有对模板进行任何更改,安装图标出现在地址栏中,但发布后它不显示图标。
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
c# - 如何在新的 ASP.NET Core 最小模板中获取“IConfiguration”?
以前,创建 ASP.NET Core 项目模板会创建两个 C# 文件Program.cs
和Startup.cs
. 在Startup
类中,您将通过构造函数收到一个IConfiguration
,然后您可以使用它来检索配置值。它看起来像这样:
但现在从 .NET 6 开始,有一个新模板,其中只有一个Program.cs
文件,您可以在其中向 DI 容器添加服务,并配置 HTTP 请求管道。它看起来像这样(它还利用了新的 C# 9.0顶级语句功能):
现在,在这种新风格中,我怎样才能访问IConfiguration
这里Program.cs
?
如果我做:
我收到以下警告:
ASP0000:从应用程序代码调用“BuildServiceProvider”会导致创建单例服务的额外副本。考虑替代方案,例如依赖注入服务作为“配置”的参数。
但是这里没有Configure
方法,因为我没有Startup
课程。
在这种情况下你应该怎么做?你如何IConfiguration
在这个新模板中得到一个这里而不需要创建一个单独的Startup
类?
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 中对用户进行身份验证,应该做些什么?