WebJob使用实体框架核心:访问站点配置信息

时间:2016-08-10 23:35:42

标签: c# entity-framework asp.net-core entity-framework-core azure-webjobs

我正在构建一个使用EF Core Sql Server数据库的ASP.NET Core MVC站点。

在网站的一部分,我需要添加上传文件的功能,然后将其处理并应用到数据库。我以为我会使用WebJobs。

我不清楚的是我如何在我的网站和webjob之间共享数据库连接字符串。是否有类似于网站的Startup.cs中的ConfigureServices()方法,我可以在webjob的程序Main()中使用?

计划主程

根据请求,这是我当前的WebJobs代码:

public static void Main(string[] args)
{
    var config = new JobHostConfiguration();

    if( config.IsDevelopment )
    {
        config.UseDevelopmentSettings();
        config.DashboardConnectionString = "...";
        config.StorageConnectionString = "...";
    }

    JobHost host = new JobHost( config );
    host.RunAndBlock();
}

那里不是很多,但我刚刚开始:)

1 个答案:

答案 0 :(得分:1)

据我所知,Azure Web应用程序和WebJob共享在Azure门户上设置的应用程序设置和连接字符串。因此我们可以在azure门户上定义连接字符串,然后使用ConfigurationManager获取连接字符串。我做了一个小测试来验证这一点。

1)设置连接字符串' myconnection'有价值的'测试' enter image description here

2)使用web作业项目输出连接

 public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
        {
            log.WriteLine(message);
            string connectionString = ConfigurationManager.ConnectionStrings["myconnection"].ToString();
            Console.WriteLine("this is my webjob project console write " + connectionString);
        }

3)然后,我在Azure Web作业信息中心中看到了结果

enter image description here