Tag: asp.net core

如何从.Net Core连接到Oracle数据库连接

在.netCore库中,我想连接到Oracle数据库。 我有什么方法可以做到吗? 我已经在另一个SOpost上尝试了这些建议,但它不起作用,也许从那以后就删除了? 正如你在我的project.json中看到的,我正在尝试使用“net461”。 我目前正在尝试通过老式的ADO.Net使用Oracle.ManagedDataAccess.Client。 我也知道Oracle尚未购买.netCore连接器。 但即使在那里,我也无法让它工作,它很难将System.Data包含在内,每当我尝试添加它时都会出错。 我的project.json看起来像这样: { “version”: “1.0.0-*”, “dependencies”: { “NETStandard.Library”: “1.6.0”, “Oracle.ManagedDataAccess”: “12.1.24160719”, }, “frameworks”: { “netstandard1.6”: { “imports”: [ “dnxcore50”, “net461” ] } } } 这就是我此刻尝试这样做的方式。 using Oracle.ManagedDataAccess.Client; public class MyRepository { public string GetServerVersion() { var _db = new OracleConnection(“User Id=myUser;Password=myPassword;Data Source=MyOracleConnection”); var serverVersion = _db.ServerVersion; return serverVersion; } […]

在ASP .Net Singleton注入类中使用DbContext

我需要在我的Startup类中实例化的Singleton类中访问我的数据库。 似乎直接注入它会导致处理掉的DbContext。 我收到以下错误: 无法访问已处置的对象。 对象名称:’MyDbContext’。 我的问题有两个:为什么这不起作用,如何在单例类实例中访问我的数据库? 这是我的Startup类中的ConfigureServices方法: public void ConfigureServices(IServiceCollection services) { // code removed for brevity services.AddEntityFramework().AddSqlServer().AddDbContext( options => { var config = Configuration[“Data:DefaultConnection:ConnectionString”]; options.UseSqlServer(config); }); // code removed for brevity services.AddSingleton(); } 这是我的控制器类: public class TestController : Controller { private FunClass _fun; public TestController(FunClass fun) { _fun = fun; } public List Index() […]

如何关闭ASP.NET核心框架完成的日志记录

如何为每个请求关闭ASP.NET完成的日志记录,例如: INFO 09:38:41用户个人资料可用。 使用’C:\ Users \ xxxx xxxx \ AppData \ Local \ ASP.NET \ DataProtection-Keys’作为密钥存储库,使用Windows DPAPI加密静态密钥。 DEBUG 09:38:41主持开始 DEBUG 09:38:41主持人开始了 INFO 09:38:41请求启动HTTP / 1.1 GET http:// localhost:23369 / INFO 09:38:41请求启动HTTP / 1.1 DEBUG http:// localhost:23369 / text / html DEBUG 09:38:41不支持DEBUG请求 DEBUG 09:38:41请求路径/与支持的文件类型不匹配 DEBUG 09:38:41请求成功匹配路线名称’default’和模板'{controller = Home} / {action = Index} / {id?}’。 DEBUG […]

ASP.NET 5 / MVC 6 Ajax将模型发布到控制器

在我的ASP.NET 5 MVC 6应用程序中,我想用Ajax将一些数据发布到我的控制器。 我已经使用ASP.NET MVC 5完成了这项工作,并且我在一个空白的ASP.NET MVC 5项目中测试了完全相同的代码并且它可以工作,但是新版本我不能,我不知道为什么。 通过Ajax调用,我可以转到控制器,创建模型但字段为空(或布尔值为false)。 这是我的代码: script.js: var data = { model: { UserName: ‘Test’, Password: ‘Test’, RememberMe: true } }; $.ajax({ type: “POST”, url: “/Account/Login/”, data: JSON.stringify(data), contentType: “application/json; charset=utf-8”, dataType: “json”, success: function (msg) { // Do something interesting here. } }); AccountController.cs: [HttpPost] public JsonResult Login(LoginViewModel model) […]

ASPNET核心服务器发送事件/响应刷新

虽然没有官方文档,但是有谁知道如何使用ASP.NET Core实现SSE? 我怀疑一个实现可能会使用自定义中间件,但也许可以在控制器操作中执行此操作?

如何在IdentityServer4中添加自定义声明来访问令牌?

我正在使用IdentityServer4 。 我想添加其他自定义声明来访问令牌,但我无法做到这一点。 我修改了Quickstart5,并按照下面的Coemgen的建议,通过ProfileService添加了ASP.NET Identity Core和自定义声明。 你可以在这里下载我的代码:[zip package] [3]。 (它基于:带有ASP.NET Identity Core的Quickstart5和通过ProfileService添加的声明)。 问题:GetProfileDataAsync未执行。

从ASP.NET 4.5 MVC Web应用程序迁移到.NET Core

我刚刚接受了一些我不熟悉的技术任务 – 我们可爱的Windows ASP.NET MVC Web应用程序应转换为在linux环境中使用。 我在健康方面工作,我们拥有绝对不会丢失的用户数据或头部会滚动(我们或他们的)。 我通常不是C#/ ASP.NET人 – 尽管我可以适应这项任务。 我一直在阅读官方文档@ http://docs.asp.net/en/latest/getting-started/installing-on-linux.html并且可以看到这个任务实际上意味着’瞄准.NET CORE (或单声道)框架’。 我已经google了,似乎没有事实上/简单的迁移方式 – 只需学习新的模块化设置,将配置文件打入project.json即可离开! 在我尝试手动执行此操作之前 – 您有什么信息可以告诉我吗? 一些系统化的流程要遵循? 也许我之前应该读过一些“陷阱”? 该项目使用NHibernate和Autofac进行DI – 似乎非常标准。 我只是想知道在Linux服务器上运行它需要多少读取/试验 – 最终这才是最重要的。

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

在之前的asp.net web api ,我实现了DefaultHttpControllerSelector来指定我希望请求如何定位我的控制器。 我经常使用不同名称的不同控制器,但用于相同的过程。 唯一的区别是一个版本比另一个版本更高版本。 例如,我可以有一个名为BookingV1Controller的控制器,它将用于处理服务的第一个版本。 我也有BookingV2Controller ,它设计用于处理服务的第二版。 然后,客户端应用程序将使用此URL http://myservice.com/api/v2/booking/someaction?id=12向服务发出请求。 为了处理请求,我将提供DefaultHttpControllerSelector的自定义实现,以根据请求的版本选择所需的控制器的相应版本。 但是,我似乎没有办法在ASP.NET Core执行此操作。 我到处搜索都无济于事。 没有可以帮助的文档。 如果有人能帮助我,我将不胜感激。 谢谢。 更新我还想知道如果在自定义标头中指定版本该怎么办。 例如X-Version:v1 更新2 要求是不应在URL中公开服务的版本。 如果没有版本,则服务返回有关如何添加版本的说明。 如果请求的版本中没有请求的控制器,系统将搜索较低版本。 如果它在任何较低版本中找到它,它就会使用它。 这样做的原因是为了防止在所有版本上重复控制器。 但是使用ASP.NET Core,这可能是不可能的。

ASP.NET核心模型绑定错误消息本地化

我正在使用ASP.NET Core,并尝试本地化应用程序。 我设法使用新的 asp .net核心资源来本地化控制器和视图,并使用旧资源来本地化错误消息以进行模型validation。 但是,当错误消息未链接到模型字段注释(如“必需”)并且模型绑定的数据不正确时(如预期数字的文本),我收到如下错误,我是无法本地化: “值’abc’对ID无效。” 当我在View为ID属性输入abc ,由于无法对该字段进行模型绑定,并且它在该字段附近显示validation消息,因此说“值’abc’对于ID无效。” 。 这是我正在使用的课程: public class Country : IHasID { public int ID { get; set; } [Required(ErrorMessageResourceType = typeof(L.Val), ErrorMessageResourceName = “NameR”)] [MaxLength(100, ErrorMessageResourceType = typeof(L.Val), ErrorMessageResourceName = “Max”)] public string Name { get; set; } /*Some other properties*/ } 我在互联网上发现的类似问题是针对较旧的asp .net版本,否则无法帮助我解决问题。

ASP.NET Core JWT映射角色声明为ClaimsIdentity

我想使用JWT保护ASP.NET Core Web API。 另外,我想有一个选项,直接在控制器动作属性中使用来自令牌有效负载的角色。 现在,虽然我确实找到了如何将其与策略一起使用: Authorize(Policy=”CheckIfUserIsOfRoleX”) ControllerAction()… 我想最好选择使用通常的东西: Authorize(Role=”RoleX”) 其中Role将从JWT有效负载自动映射。 { name: “somename”, roles: [“RoleX”, “RoleY”, “RoleZ”] } 那么,在ASP.NET Core中实现这一目标的最简单方法是什么? 有没有办法通过一些设置/映射自动工作(如果是这样,在哪里设置它?)或者我应该在validation令牌后拦截ClaimsIdentity生成并手动添加角色声明(如果是,在何处/如何去做?)?