当前位置: 首页 > 知识库问答 >
问题:

Azure函数中的依赖注入在部署后失败,但可以在本地工作

谷梁俊楚
2023-03-14

我有一个类,它有一个公共构造函数,它以SqlConnection参数

private readonly SqlConnection _sqlConnection;

public Sample(SqlConnection sqlConnection)
{
    _sqlConnection = sqlConnection;
}

在启动文件中,我正在尝试做DI

var sqlConnection = new SqlConnection(Environment.GetEnvironmentVariable("AzureSQLConnection"));

builder.Services.AddSingleton<SqlConnection>(sqlConnection);

它在本地运行,但当部署到Azure时,它会因错误而失败

系统。InvalidOperationException:无法解析类型“System”的服务。Data.SqlClient.SqlConnection '尝试激活时'测试。样本样本。在微软。微软lambda_method(Closure,IServiceProvider,Object[])处的extensions . dependency injection . activator utilities . get service(IServiceProvider sp,Type type,Type requiredBy,Boolean isDefaultParameterRequired)。azure . web jobs . host . executors . defaultjobactivator . create instance[T](IServiceProvider service provider)位于C:\ projects \ azure-web jobs-SDK-rqm4t \ src \ Microsoft。azure . web jobs . host \ Executors \ defaultjobactivator . cs:37在微软。azure . web jobs . host . executors . defaultjobactivator . create instance[T](IFunctionInstanceEx function instance)位于C:\ projects \ azure-web jobs-SDK-rqm4t \ src \ Microsoft。azure . web jobs . host \ Executors \ defaultjobactivator . cs:32在微软。azure . web jobs . host . executors . activatorinstancefactory < code > 1。

共有1个答案

上官培
2023-03-14

尝试在启动和Test.Sample中检查SqlConnection的名称空间。示例类。问题是有两个类的名称几乎相同(Microsoft.Data.SqlClient.SqlConnectionSystem.Data.SqlClient.SqlConnection)。两个类中的类型必须相同。

 类似资料:
  • 我有一个时间触发的Azure功能

  • 我的pom.xml 错误:

  • 我有一个关于 azure 函数 v1 中的依赖注入的新问题。 实际情况: 我有一个azure函数V1,我想在其中引用我的业务服务,而无需重新发明轮子即可使用我的服务。我在Internet上搜索并找到了这篇来自Microsoft的有趣文章。 但是,它似乎只适用于azure函数v2(. net core),因为每当我尝试安装时,我总是收到以下错误: 检测到Microsoft.Azure.WebJobs

  • 我正在用Azure函数做一个小POC。我已经从VS模板创建了一个简单的HttpTrigger函数,如果我在localhost中debbug都可以完美地工作,但如果我在Azure中部署,当我试图启动该函数时,我会遇到一个错误: 发生了一个错误。有关更多信息,请检查日志中的错误ID为24D8E48F-D925-45AD-82CF-F767Decc5F6F 如果我签入Insights,错误是: 调用堆栈

  • PS:这是一个由另一个开发人员开始的项目,我一直在工作中没有问题,在过去的6个坐骑。我现在认为问题可能来自netbeans或glassfish中的配置错误,因为我在以前的代码版本中都遇到了同样的错误。