我已经成功地将依赖注入用于我自己的自定义服务,如本文所述。
我想要的是在我的定制服务中使用框架作为参数注入Azure函数的绑定器。用作函数参数的示例:
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, Binder binder, TraceWriter log)
我尝试将Binder作为参数添加到我的服务构造函数并让框架创建我的服务实例,但传入的Binder始终为空。
我的服务构造函数:
public MyService(Binder binder)
注册如下:
builder.Services.AddSingleton<IMyService, MyService>();
有人知道这是否可能吗?如果可能,我做错了什么?
首先,您必须创建一个这样的类,允许您读取/写入:
public static class Bindor
{
public static async Task<string> ReadFromBlob(string path, Binder binder, string connection)
{
var attributes = new Attribute[]
{
new BlobAttribute(path),
new StorageAccountAttribute(connection)
};
using (var reader = await binder.BindAsync<TextReader>(attributes))
{
return await reader.ReadToEndAsync();
}
}
public static async Task BindToBlob(string path, Binder binder, object payload, string connection)
{
var attributes = new Attribute[]
{
new BlobAttribute(path),
new StorageAccountAttribute(connection)
};
using (var writer = await binder.BindAsync<TextWriter>(attributes))
{
writer.Write(payload);
}
}
}
然后,您将 Binder binder
作为参数包含在函数中(就像您正在执行的那样)。
示例用法如下:
//path would be your path to the blob (including the container)
//binder is the parameter from your function signature
//sorry about the confusing naming, Bindor is the class we created, whereas Binder is the functions class
await Bindor.BindToBlob(path, binder, "my payload", connection);
我有一个时间触发的Azure功能
我有一个关于 azure 函数 v1 中的依赖注入的新问题。 实际情况: 我有一个azure函数V1,我想在其中引用我的业务服务,而无需重新发明轮子即可使用我的服务。我在Internet上搜索并找到了这篇来自Microsoft的有趣文章。 但是,它似乎只适用于azure函数v2(. net core),因为每当我尝试安装时,我总是收到以下错误: 检测到Microsoft.Azure.WebJobs
在之前的所有JUnit版本中,测试构造函数或方法都不允许有参数(至少不能使用标准的Runner实现)。作为JUnit Jupiter的主要变化之一,测试构造函数和方法现在都允许有参数。这带来了更大的灵活性,并为构造函数和方法启用依赖注入。 ParameterResolver定义了测试扩展的API,希望在运行时动态解析参数。如果测试构造函数或@Test, @TestFactory, @BeforeE
在React中,想做依赖注入(Dependency Injection)其实相当简单。请看下面这个例子: // Title.jsx export default function Title(props) { return <h1>{ props.title }</h1>; } // Header.jsx import Title from './Title.jsx'; export defa
依赖注入 Dependency Injection is a strong mechanism, which helps us easily manage dependencies of our classes. It is very popular pattern in strongly typed languages like C# and Java. 依赖注入是一个很强大的机制,该机制可以帮
简介 Hyperf 默认采用 hyperf/di 作为框架的依赖注入管理容器,尽管从设计上我们允许您更换其它的依赖注入管理容器,但我们强烈不建议您更换该组件。 hyperf/di 是一个强大的用于管理类的依赖关系并完成自动注入的组件,与传统依赖注入容器的区别在于更符合长生命周期的应用使用、提供了 注解及注解注入 的支持、提供了无比强大的 AOP 面向切面编程 能力,这些能力及易用性作为 Hyper