繁体   English   中英

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

[英]WebJob Using Entity Framework Core: Accessing Site Configuration Information

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

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

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

程序主

根据请求,这是我目前所有的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();
}

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

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

1)将连接字符串'myconnection'设置为值'test' 在此处输入图片说明

2)使用Web Job项目输出连接

 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作业仪表板中看到结果

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM