@@ -63,9 +63,7 @@ public static IEndpointConventionBuilder Subscribe<TEvent>(
63
63
string appName )
64
64
where TEvent : IntegrationEvent
65
65
{
66
- var daprOptions = builder . ServiceProvider . GetRequiredService < IOptions < DaprOptions > > ( ) . Value ;
67
- EnsureDaprSubscribeHandlerMapped ( builder , daprOptions ) ;
68
- EnsureEventBusRegistered ( builder , daprOptions ) ;
66
+ builder . EnsureDaprEventBus ( ) ;
69
67
70
68
var result = builder
71
69
. MapPost ( route , ( TEvent receivedEvent , IEventBus eventBus ) => eventBus . ReceiveAsync ( receivedEvent ) )
@@ -80,6 +78,8 @@ public static IEndpointConventionBuilder Subscribe<TEvent>(
80
78
/// <param name="assemblies"><see cref="Assembly"/></param>
81
79
public static void Subscribe ( this IEndpointRouteBuilder builder , params Assembly [ ] assemblies )
82
80
{
81
+ builder . EnsureDaprEventBus ( ) ;
82
+
83
83
var method = typeof ( EndPointExtensions ) . GetMethod (
84
84
nameof ( Subscribe ) ,
85
85
new [ ] { typeof ( IEndpointRouteBuilder ) , typeof ( string ) } ) ! ;
@@ -100,7 +100,7 @@ public static void Subscribe(this IEndpointRouteBuilder builder, params Assembly
100
100
}
101
101
}
102
102
103
- private static void EnsureEventBusRegistered ( IEndpointRouteBuilder builder , DaprOptions daprOptions )
103
+ private static void EnsureEventBusRegistered ( this IEndpointRouteBuilder builder , DaprOptions daprOptions )
104
104
{
105
105
if ( daprOptions . IsEventBusRegistered )
106
106
{
@@ -115,9 +115,10 @@ private static void EnsureEventBusRegistered(IEndpointRouteBuilder builder, Dapr
115
115
}
116
116
117
117
daprOptions . IsEventBusRegistered = true ;
118
+ return ;
118
119
}
119
120
120
- private static void EnsureDaprSubscribeHandlerMapped ( IEndpointRouteBuilder builder , DaprOptions daprOptions )
121
+ private static void EnsureDaprSubscribeHandlerMapped ( this IEndpointRouteBuilder builder , DaprOptions daprOptions )
121
122
{
122
123
if ( daprOptions . IsDaprSubscribeHandlerMapped )
123
124
{
@@ -131,5 +132,16 @@ private static void EnsureDaprSubscribeHandlerMapped(IEndpointRouteBuilder build
131
132
132
133
builder . MapSubscribeHandler ( ) ;
133
134
daprOptions . IsDaprSubscribeHandlerMapped = true ;
135
+ return ;
136
+ }
137
+
138
+ private static DaprOptions GetDaprOptions ( this IEndpointRouteBuilder builder )
139
+ => builder . ServiceProvider . GetRequiredService < IOptions < DaprOptions > > ( ) . Value ;
140
+
141
+ private static void EnsureDaprEventBus ( this IEndpointRouteBuilder builder )
142
+ {
143
+ var options = builder . GetDaprOptions ( ) ;
144
+ builder . EnsureDaprSubscribeHandlerMapped ( options ) ;
145
+ builder . EnsureEventBusRegistered ( options ) ;
134
146
}
135
147
}
0 commit comments