添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
八块腹肌的西装  ·  select union ...·  2 年前    · 
乖乖的橡皮擦  ·  Day 13 ─用Kotlin ...·  2 年前    · 
害羞的匕首  ·  mysql除法报错1365 - ...·  2 年前    · 

InvalidOperationException: Unable to resolve service for type 'WebApplication3.Models.backtestContext' while attempting to activate 'WebApplication3.Controllers.SysUsersController'.

Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServ

以上为操作中的错误,下面将会提供解决方案:

2019创建mvc自动生成代码比2017简单多了,

1、  新建项目“eco”,选择“web应用程序(模型视图控制器)”,身份验证为:不进行身份验证。

2、 在【程序包管理控制台】执行命令:

Scaffold-DbContext "server=127.0.0.1;uid=root;pwd=root;database=backtest" Pomelo.EntityFrameworkCore.Mysql -OutputDir Models –Force

ok,就这么简单,但是,运行起来,还是会出现问题,就是本文一开始的蓝色错误提示,查了很多资料,见到有高人的解决方法:

应用方法一:

在   public void ConfigureServices(IServiceCollection services)里面添加:

services.AddTransient<WebApplication1.Models.backtestContext>();

就这么简单。

应用方法二:(推荐)

在   public void ConfigureServices(IServiceCollection services)里面添加:

Services.AddDbContext<backtestContext>(m => m.UseMySql("server=127.0.0.1;uid=root;pwd=root;database=backtest", Microsoft.EntityFrameworkCore.ServerVersion.Parse("8.0.21-mysql")));

应用方法三:

声明一个新类继承backtestContext

public class DataBase:backtestContext
        private string _connectionstring = string.Empty;
        public DataBase( string connectionString):base ()
            _connectionstring = connectionString;
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            if (!optionsBuilder.IsConfigured)
                optionsBuilder.UseMySql(_connectionstring, Microsoft.EntityFrameworkCore.ServerVersion.Parse("8.0.21-mysql"));

然后在   public void ConfigureServices(IServiceCollection services)里面添加:

builder.Services.AddTransient<DataBase>(m =>
    return new DataBase("server=127.0.0.1;uid=root;pwd=root;database=backtest");
                    InvalidOperationException: Unable to resolve service for type 'WebApplication3.Models.backtestContext' while attempting to activate 'WebApplication3.Controllers.SysUsersController'.Microsoft.Extensi...
昨天已经将数据库文件添加到vs中,补充一点,像昨天那种连接是与你的数据库管理系统工具分离的(过程有分离操作),即在数据库管理工具打开并没有该数据库了(我暂时叫它分离式连接)。下面先说此种连接的代码实现:
首先要确定连接到那个数据库,要不然会默认连接到数据库系统中的 master 数据库,如下图所示。...
				
最近在做一个数据库的综合性实验,我之前用的都是Oracle的SQL developer来设计数据库,所以想尝试一下用SQL server进行设计,不得不说SQL用起来更方便,创建表格直接填写id和数据段类型就可以了。好了,说正经事,教程开始。 首先打开vs2019顶部的工具,点击链接到数据库。 选择sql server: 下载好并配置好一个数据库后,接下来就是用c#连接数据库了。下面是我的连接代码 class Dao SqlConnection sc; public class OracleHelper private static string connString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" + "(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));" + 4.打开程序包应用控制台 5.输入install-package mysql.data -version 6.10.8 然后按回车键 输入 install-package mysql.data.entity -version 6.10.8 然后按回车键 6.下载版本为1.2
记 NetCore 5.0+ 连接MySql数据库趟过的坑嘿!有坑!找找出处总结 嘿!有坑! 最近需要为调度算法写一个WebApi接口,咦!这个有底货呀,改一改就可以了,抽出点时间可以把它分层,这样以后多个类似项目都可以来用,省事呀… 然而,在新建项目的时候,下拉框里那是多了好几位兄弟啊…(想想我的代码还在2.0时代),好吧(~ _ ~),升级! 建好项目,把代码复制过来,红杠杠?点掉,生成…噹!大红叉!!! 找到错误列表,Pomelo.EntityFrameworkCore.MySql 3.2.4与Mi
此框架可自动生成SpringMvc+mybatis框架结构数据库采用的是mysql用户可以自行更改成自己需要的数据库,使用时将本项目导入myeclipse或eclipse中,更改项目名称为 你自定义的项目名称后在Test包中有2个java类GeneratorConfig,AutoGenerator ,其中GeneratorConfig中配置的是数据库以及包设置的配置信息,使用的时候需要 自己进行改动,AutoGenerator为main方法类,修改完配置信息后执行此java类则可生成相应的代码,此自动生成工具生成项目结构为src下自定义的包在自定义的包下有bean, controller,dao,mapper,service,在webRoot目录下会生成back文件夹生成的相应的jsp文件会在此文件夹下。(注意:一定要有webRoot文件夹切记不可用WebContent代替)
前段时间被数据库连接字串折磨得很惨,那个自动生成连接字符串的网站生成的字串还有点问题。最后解决还是通过VS2008自己的功能实现的。 下面说一说怎么通过VS2008自动生成数据库连接字串。 1、添加通过“服
首先,我们需要一个AdminController作为后端管理员的控制器。在该控制器中,我们将实现RSA加密登录和其他相关功能。 1. 首先,我们需要在MySQL数据库创建一个名为admin的表,用于存储管理员的信息,包括用户名和RSA公钥。 CREATE TABLE admin ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, pubkey VARCHAR(200) NOT NULL 2. 在AdminController中,我们需要编写一个login方法,用于接收前端传递的加密后的用户名和密码,并进行解密和验证。该方法的具体代码如下: @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody public Map<String, Object> login(@RequestParam("username") String username, @RequestParam("password") String password) throws Exception { Map<String, Object> result = new HashMap<>(); // 解密用户名和密码 String decryptedUsername = RSAUtils.decryptByPrivateKey(username, privateKey); String decryptedPassword = RSAUtils.decryptByPrivateKey(password, privateKey); // 查询管理员信息 Admin admin = adminService.getByUsername(decryptedUsername); if (admin == null) { // 用户名不存在 result.put("success", false); result.put("message", "用户名不存在"); } else { // 验证密码 if (admin.getPassword().equals(decryptedPassword)) { // 登录成功 result.put("success", true); result.put("message", "登录成功"); } else { // 密码错误 result.put("success", false); result.put("message", "密码错误"); return result; 在该方法中,我们首先使用RSAUtils类中提供的decryptByPrivateKey方法解密用户名和密码。然后,我们查询数据库中是否存在该用户名的管理员信息。如果存在,我们比较密码是否正确。最后,根据验证结果返回相应的信息。 3. 在AdminController中,我们还需要编写一个方法,用于生成RSA密钥对,并将公钥存储到数据库中。该方法的代码如下: @RequestMapping(value = "/generateKeyPair", method = RequestMethod.POST) @ResponseBody public Map<String, Object> generateKeyPair() throws Exception { Map<String, Object> result = new HashMap<>(); // 生成RSA密钥对 KeyPair keyPair = RSAUtils.generateKeyPair(); privateKey = RSAUtils.getPrivateKey(keyPair); String publicKey = RSAUtils.getPublicKey(keyPair); // 将公钥存储到数据库中 Admin admin = adminService.getById(1); admin.setPubkey(publicKey); adminService.update(admin); result.put("success", true); result.put("message", "RSA密钥对生成成功"); return result; 在该方法中,我们首先调用RSAUtils类中提供的generateKeyPair方法生成RSA密钥对,然后使用getPrivateKey和getPublicKey方法获取私钥和公钥。接下来,我们将公钥存储到数据库中。在本例中,我们只存储了一个管理员的公钥,因此使用了adminService.getById(1)获取管理员信息。实际应用中,可以根据需要进行修改。 4. 最后,我们需要编写一个用于获取公钥的方法,供前端进行加密传输。该方法的代码如下: @RequestMapping(value = "/getPublicKey", method = RequestMethod.GET) @ResponseBody public Map<String, Object> getPublicKey() throws Exception { Map<String, Object> result = new HashMap<>(); // 查询管理员信息 Admin admin = adminService.getById(1); result.put("success", true); result.put("publicKey", admin.getPubkey()); return result; 在该方法中,我们查询数据库中存储的管理员信息,获取其公钥并返回给前端。 通过以上代码实现,我们就可以使用MVC模式进行后端管理员RSA加密登录了。