Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net核心数据库位置和消息传递_C#_Asp.net_Asp.net Mvc_Sqlite_Asp.net Core - Fatal编程技术网

C# asp.net核心数据库位置和消息传递

C# asp.net核心数据库位置和消息传递,c#,asp.net,asp.net-mvc,sqlite,asp.net-core,C#,Asp.net,Asp.net Mvc,Sqlite,Asp.net Core,我正在学习asp.net core 1.0.1,并已成功连接到SQLite数据库。连接字符串保存在appsettings.json中。我将同一个数据库放在bin文件夹中,一个放在netcoreapp1.0中 我可以创建一个新记录并保存它。我在Firefox中使用SQLite管理器检查了这两个数据库,查看使用的是哪一个数据库,但两个数据库上都没有保存的数据 那么,我正在处理的数据库保存在哪里呢 我尝试使用某种messageBox来显示连接字符串路径,但asp.net核心中没有messageBox。

我正在学习asp.net core 1.0.1,并已成功连接到SQLite数据库。连接字符串保存在
appsettings.json
中。我将同一个数据库放在bin文件夹中,一个放在netcoreapp1.0中

我可以创建一个新记录并保存它。我在Firefox中使用SQLite管理器检查了这两个数据库,查看使用的是哪一个数据库,但两个数据库上都没有保存的数据

  • 那么,我正在处理的数据库保存在哪里呢
  • 我尝试使用某种messageBox来显示连接字符串路径,但asp.net核心中没有messageBox。如何在asp.net core中显示消息

     // appsettings.json
     "ConnectionStrings": {
         "MyDatabase": "Data Source=MyDb.sqlite"
     }
    

  • 如果您只需要向响应主体快速输出一些内容,您可以在控制器上添加如下方法

    public async Task ContentAction()
    {
        var jsonString = "{\"test\":1,\"output\":false}";
        byte[] data = Encoding.UTF8.GetBytes(jsonString);
        Response.ContentType = "application/json";
        await Response.Body.WriteAsync(data, 0, data.Length);
    }
    
    <div>
        <a asp-controller="Home" asp-action="ContentAction" class="btn btn-success confirmCreate">
            Generate Response
            <i class="fa fa-angle-left"></i>
        </a>
    </div>
    
    然后可以从视图中调用此控制器方法,如下所示

    public async Task ContentAction()
    {
        var jsonString = "{\"test\":1,\"output\":false}";
        byte[] data = Encoding.UTF8.GetBytes(jsonString);
        Response.ContentType = "application/json";
        await Response.Body.WriteAsync(data, 0, data.Length);
    }
    
    <div>
        <a asp-controller="Home" asp-action="ContentAction" class="btn btn-success confirmCreate">
            Generate Response
            <i class="fa fa-angle-left"></i>
        </a>
    </div>
    

    最后,数据库实际上保存在bin\Debug\netcoreapp1.0中(我找错了文件夹)

    但是我仍然不知道如何在asp.net内核中显示一条简单的消息

    我正在学习asp.net核心+其他内容,只是为了创建一个asp.net数据库驱动的网站,但这并不容易。简单的事情很难实现

    使用wpf、c#+mvvm是很棒的,我希望我可以用它们来代替web开发。但是,嘿,我们生活和学习。:-)


    谢谢。

    以下是如何将appsettings.json中的连接字符串输出到视图中

    首先,这是如何在appsettings.json中定义我的连接字符串

    "database": {
    "connection": "Data Source=.;Initial Catalog=OdeToFood;Integrated  Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
    
    }

    创建一个类来存储连接字符串

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace CoreTest
    {
        public class AppSettings
        {
            public string connection { get; set; }
        }
    }
    
    {"connectionString"Data Source=.;Initial Catalog=OdeToFood;Integrated     Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False}
    
    更新startup.cs文件

    确保构造函数正在读取appsettings.json文件

    public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                .AddEnvironmentVariables();
            Configuration = builder.Build();
        }
    
    将这些行添加到ConfigureServices

     services.AddOptions();
     services.Configure<AppSettings>(Configuration.GetSection("database"));
    
    从视图中调用控制器方法

     <div>
        <a asp-controller="Home" asp-action="ContentAction" class="btn btn-  success confirmCreate">
            Generate Response
            <i class="fa fa-angle-left"></i>
        </a>
    </div>
    

    你需要发布相关的代码。稍微改进的格式Hi Yaz。当你说“我可以创建一个新记录并保存它”时,你是如何证明该记录已保存的?你是否停止应用程序,重新启动它,然后检索记录?当应用程序运行时,我在Firefox SQLite管理器中打开SQLite数据库,看到记录已保存。SQLite db位于bin\Debug\netcoreapp1.0中。感谢您的回复。我按原样尝试了你的代码,它运行正常。但是我需要显示连接字符串,所以我这样做了:stringconnection=Configuration.GetConnectionString(“MyDatabase”);byte[]data=Encoding.UTF8.GetBytes(连接);Response.ContentType=“application/json”;wait Response.Body.WriteAsync(data,0,data.Length);但我得到ArgumentNullException:字符串引用未设置为字符串的实例。参数名称:sThanks pforsshoff,我正在处理您的代码。我将在完成后发回。:-)您的代码非常适合此任务。我从你那里学到了很多新东西。我非常感谢你的帮助。祝你一切顺利。耶,你能把这个答案标记为有用吗?事实上,如果他们都有帮助的话。非常感谢。我做了,但它说投票已经记录在案,投票数少于15票等等。。谢谢我是新来的,我照上面说的做了,谢谢。
    {"connectionString"Data Source=.;Initial Catalog=OdeToFood;Integrated     Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False}