Her iki ServiceFilter ve TypeFilter, bağımlılık enjeksiyonu kullanılarak oluşturulur.
this göre typeFilter sonuçta yapıcı sağlamamıza olanak tanır kendini parametreleri Microsoft.Extensions.DependencyInjection.ObjectFactory
kullanılarak örneği (Bunu yapıcısına bir Argümanlar parametre görebilirsiniz). Sağlamadığınızları da çözer.
public class AttachMetadataAttribute : Attribute, IAsyncActionFilter
{
public AttachMetadataAttribute(SomeType someValue, ISomeService service)
{
}
}
Ve böyle olduğu kullanabilirsiniz::
Yani böyle bir şey yapabileceği Yani burada birinci parametre (someValue) sağlanır siz ve servis tarafından
[TypeFilter(typeof(AttachMetadataAttribute),
IsReusable = true,
Order = 10,
Arguments = new object[] { someValue})]
konteyner tarafından enjekte edilir.
Not: IsReusable konusunda dikkatli olun. Doğru olarak ayarlanmışsa, enjekte edilen servis sadece bir kez oluşturulur.
ASP.NET Çekirdek belgeleri, filtrelerin ayrıntılı açıklamalarını içerir. Kontrol ettin mi? –