Commit 756935ab authored by Savorboard's avatar Savorboard

fixed .net core 2.0 services resolve bug

parent 975fcb7d
...@@ -48,19 +48,23 @@ namespace DotNetCore.CAP.Internal ...@@ -48,19 +48,23 @@ namespace DotNetCore.CAP.Internal
IServiceProvider provider) IServiceProvider provider)
{ {
var executorDescriptorList = new List<ConsumerExecutorDescriptor>(); var executorDescriptorList = new List<ConsumerExecutorDescriptor>();
var consumerServices = provider.GetServices<ICapSubscribe>(); using (var scoped = provider.CreateScope())
foreach (var service in consumerServices)
{ {
var typeInfo = service.GetType().GetTypeInfo(); var scopedProvider = scoped.ServiceProvider;
if (!typeof(ICapSubscribe).GetTypeInfo().IsAssignableFrom(typeInfo)) var consumerServices = scopedProvider.GetServices<ICapSubscribe>();
foreach (var service in consumerServices)
{ {
continue; var typeInfo = service.GetType().GetTypeInfo();
} if (!typeof(ICapSubscribe).GetTypeInfo().IsAssignableFrom(typeInfo))
{
continue;
}
executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo)); executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo));
}
return executorDescriptorList;
} }
return executorDescriptorList;
} }
private static IEnumerable<ConsumerExecutorDescriptor> FindConsumersFromControllerTypes( private static IEnumerable<ConsumerExecutorDescriptor> FindConsumersFromControllerTypes(
...@@ -76,7 +80,7 @@ namespace DotNetCore.CAP.Internal ...@@ -76,7 +80,7 @@ namespace DotNetCore.CAP.Internal
{ {
executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo)); executorDescriptorList.AddRange(GetTopicAttributesDescription(typeInfo));
} }
} }
return executorDescriptorList; return executorDescriptorList;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment