草庐IT

c# - ASP.NET Core 2 种子数据库

这个问题在这里已经有了答案:HowtoseedinEntityFrameworkCore2?(9个回答)关闭4年前。我已经在SO上看到了一些与此相关的类似示例,但我对这种语言的了解还不够多,还看不出我做错了什么。我拼凑了一个演示以了解更多信息,但我在为数据库做种时遇到问题。我收到以下错误:InvalidOperationException:Cannotresolvescopedservice'demoApp.Models.AppDbContext'fromrootprovider.Microsoft.Extensions.DependencyInjection.ServiceLooku

c# - 如何在 ASP.NET Core Web Api 中完成版本控制

在之前的asp.netwebapi中,我实现了DefaultHttpControllerSelector来指定我希望请求如何定位我的Controller。我经常有不同名称但用于相同进程的不同Controller。唯一的区别是一个版本比另一个版本高。例如,我可以有一个名为BookingV1Controller的Controller,用于处理服务的第一个版本。我还会有BookingV2Controller,它旨在处理服务的第二个版本。然后,客户端应用程序将使用此urlhttp://myservice.com/api/v2/booking/someaction?id=12向服务发出请求。为了

c# - 在 ASP.NET Core Web API 项目中保持 Controller 温暖

我注意到,一段时间后,我的ASP.NETCoreWebAPI服务似乎会经历与您全新启动它们时相同的初始化过程,即初始请求很慢,但后续请求很快。是否有一种通用技术可以使Controller保持温暖,从而避免这种情况发生?作为引用,我没有使用IIS(据我所知),这些服务使用Microsoft的官方.NETCoredocker镜像(不是基于Alpine)在Docker中运行。我还应该指出,这些服务中的Controller在启动时通过/ready端点预热,Kubernetes调用该端点作为就绪检查。问题是这似乎不会持续很长时间。 最佳答案

c# - 通过 ASP Core MVC、Web API 和 IdentityServer4 的身份验证?

我一直致力于将单体ASPCoreMVC应用程序迁移到使用服务架构设计。MVC前端网站使用HttpClient从ASPCoreWebAPI加载必要的数据。一小部分前端MVC应用程序还需要使用IdentityServer4(与后端API集成)进行身份验证。这一切都很好,直到我将Authorize属性放在WebAPI的Controller或方法上。我知道我需要以某种方式将用户授权从前端传递到后端才能使其正常工作,但我不确定如何进行。我尝试获取access_token:User.FindFirst("access_token")但它返回null。然后我尝试了这个方法,我能够得到token:va

c# - ASP.NET Core Windows 服务中的 Serilog 无法将文件写入本地系统

我正在将ASP.NETCoreWeb服务器作为Windows服务运行,并使用Serilog登录到%PROGRAMDATA%中的文件。当我将服务作为本地系统运行时,没有任何记录。我在Windows10上使用.NetCore2.2。我通过在我的服务中触发一个错误来测试,该错误在错误级别写入日志事件。我已经尝试以我自己的管理帐户运行该服务并且日志记录工作正常;该问题仅在作为本地系统运行时出现。我有其他使用.NetFramework作为本地系统运行的Windows服务,使用Serilog登录到%PROGRAMDATA%没有问题,但这是我第一次在.NetCore上尝试它。我可以使用Directo

c# - Task.Start .NET CORE 无法加载 DLL combase.dll 错误 Windows 7

我们有一些代码利用了基本的C#Task对象。但是,在Windows7计算机上进行开发时,尝试运行Task.Start();会导致:Exceptionthrown:'System.DllNotFoundException'inSystem.Private.CoreLib.ni.dllAdditionalInformation:UnabletoloadDLL'combase.dll':thespecifiedmodulecouldnotbefound(ExceptionfromHRESULT:0x8007007E)在Windows10开发机器上运行此代码时一切正常。在研究适用于Window

c# - 有没有办法获取在 Kestrel/ASP.NET Core 中请求队列中花费的时间?

我的理解是ASP.NETCore中间件在准备好处理请求时运行。但是,如果应用程序处于负载状态并且ASP.NETCore无法处理所有传入的请求,它们会被放入某处的“队列”中吗?我不知道这是否是Kestrel内部的某个托管队列,或者它是否与libuv有关。我想知道给定的请求在这个队列中花费了多长时间。HttpContext上有什么东西可以告诉我这个吗?提前致谢 最佳答案 这题没那么简单。如果你想跟踪所有的时间,你必须做很多步骤。在开始时为请求添加一个独特的戳记或打勾,以便您可以一一识别它们。其次,创建一个处理程序,它会拦截您的请求并记录

c# - MVC 5 中的 System.Data.Entity.Core.ProviderIncompatible 异常

我正在mvc5中创建一个ASP.NETWeb应用程序,我制作了一个带有Controller的模型类。我的应用程序正在运行,但是当我想在像localhost:1234/Movies这样的url中访问我的电影Controller时,它会在我的MoviesController.cs文件中生成异常我使用的连接字符串是产生这个异常的函数是publicActionResultIndex(){returnView(db.Movies.ToList());}编辑异常详细信息“System.Data.Entity.Core.ProviderIncompatibleException”类型的异常发生在En

c# - 如何使用 IIS Express 在 ASP.NET Core 中获取控制台输出

ASP.NetCore文档here有一个很好的控制台日志输出,如下图所示,带有各种LogLevels的颜色。我现在已经在VisualStudio中创建了一个应用程序,我看到它现在在IISExpress后面运行,我再也看不到控制台了。我记得当我运行测试版时,它会直接弹出Kestrel,并带有这个漂亮的控制台输出。现在有可能得到这个漂亮的窗口吗?附言文档中仍然包含这些您甚至看不到的图像,这有点奇怪。 最佳答案 除了DawidRutkowski'sanswer,在顶部下拉列表中,不要选择IISExpress,选择应用程序名称。您应该能够看

c# - 如何在 asp.net core 中使用 Fetch api 将数据传递给 Controller

我在我的客户端js脚本中使用这样的fetch发布数据fetch('/myarea/mycontroller/myaction',{method:'post',body:JSON.stringify({name:namevalue,address:addressvalue})}).then(function(response){if(response.status!==200){console.log('fetchreturnednotok'+response.status);}response.json().then(function(data){console.log('fetchr