我正在构建一个使用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();
}
那里不是很多,但我刚刚开始:)
答案 0 :(得分:1)
据我所知,Azure Web应用程序和WebJob共享在Azure门户上设置的应用程序设置和连接字符串。因此我们可以在azure门户上定义连接字符串,然后使用ConfigurationManager获取连接字符串。我做了一个小测试来验证这一点。
1)设置连接字符串' myconnection'有价值的'测试'
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作业信息中心中看到了结果