46 references to WaitBehavior
Aspire.Hosting (33)
ApplicationModel\ResourceNotificationService.cs (19)
33
internal
WaitBehavior
DefaultWaitBehavior { get; set; }
54
DefaultWaitBehavior =
WaitBehavior
.StopOnResourceUnavailable;
73
DefaultWaitBehavior = serviceProvider.GetService<IOptions<ResourceNotificationServiceOptions>>()?.Value.DefaultWaitBehavior ??
WaitBehavior
.StopOnResourceUnavailable;
143
private async Task WaitUntilHealthyAsync(IResource resource, IResource dependency,
WaitBehavior
waitBehavior, CancellationToken cancellationToken)
181
/// control this behavior use <see cref="WaitForResourceHealthyAsync(string,
WaitBehavior
, CancellationToken)"/>
205
/// <see cref="
WaitBehavior
"/> controls how the wait operation behaves when the resource
209
/// When <see cref="
WaitBehavior
.WaitOnResourceUnavailable"/> is specified the wait operation
213
/// When <see cref="
WaitBehavior
.StopOnResourceUnavailable"/> is specified the wait operation
218
public async Task<ResourceEvent> WaitForResourceHealthyAsync(string resourceName,
WaitBehavior
waitBehavior, CancellationToken cancellationToken = default)
234
static bool ShouldYield(
WaitBehavior
waitBehavior, CustomResourceSnapshot snapshot) =>
237
WaitBehavior
.WaitOnResourceUnavailable => snapshot.HealthStatus == HealthStatus.Healthy,
238
WaitBehavior
.StopOnResourceUnavailable => snapshot.HealthStatus == HealthStatus.Healthy ||
302
private async Task WaitUntilStateAsync(IResource resource, IResource dependency,
WaitBehavior
waitBehavior,
325
if (waitBehavior ==
WaitBehavior
.StopOnResourceUnavailable)
355
static bool IsContinuableState(
WaitBehavior
waitBehavior, CustomResourceSnapshot snapshot) =>
358
WaitBehavior
.WaitOnResourceUnavailable => snapshot.State?.Text == KnownResourceStates.Running,
359
WaitBehavior
.StopOnResourceUnavailable => snapshot.State?.Text == KnownResourceStates.Running ||
369
private async Task WaitUntilStartedAsync(IResource resource, IResource dependency,
WaitBehavior
waitBehavior, CancellationToken cancellationToken)
885
public
WaitBehavior
DefaultWaitBehavior { get; set; }
ApplicationModel\WaitAnnotation.cs (1)
33
public
WaitBehavior
? WaitBehavior { get; init; }
Backchannel\AppHostRpcTarget.cs (1)
128
WaitBehavior
.StopOnResourceUnavailable,
DistributedApplicationBuilder.cs (2)
259
o.DefaultWaitBehavior = options.DisableDashboard ?
WaitBehavior
.StopOnResourceUnavailable :
WaitBehavior
.WaitOnResourceUnavailable;
ResourceBuilderExtensions.cs (10)
1152
/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource},
WaitBehavior
)"/> also results
1158
/// wait operation. When <see cref="
WaitBehavior
.WaitOnResourceUnavailable"/> is specified, the wait
1161
/// <para>When <see cref="
WaitBehavior
.StopOnResourceUnavailable"/> is specified, the wait operation
1174
public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
waitBehavior) where T : IResourceWithWaitSupport
1182
private static IResourceBuilder<T> WaitForCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport
1258
/// <para>Unlike <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource},
WaitBehavior
)"/>, this method
1262
/// wait operation. When <see cref="
WaitBehavior
.WaitOnResourceUnavailable"/> is specified, the wait
1265
/// <para>When <see cref="
WaitBehavior
.StopOnResourceUnavailable"/> is specified, the wait operation
1278
public static IResourceBuilder<T> WaitForStart<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
waitBehavior) where T : IResourceWithWaitSupport
1286
private static IResourceBuilder<T> WaitForStartCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport
Aspire.Hosting.Tests (13)
WaitForTests.cs (13)
207
.WaitFor(dependency,
WaitBehavior
.StopOnResourceUnavailable);
237
dependency.WaitFor(failToStart,
WaitBehavior
.StopOnResourceUnavailable);
245
WaitBehavior
.StopOnResourceUnavailable
261
dependency.WaitFor(failToStart,
WaitBehavior
.StopOnResourceUnavailable);
269
WaitBehavior
.WaitOnResourceUnavailable
278
[InlineData(
WaitBehavior
.WaitOnResourceUnavailable, typeof(TimeoutException), "The operation has timed out.")]
279
[InlineData(
WaitBehavior
.StopOnResourceUnavailable, typeof(DistributedApplicationException), "Stopped waiting for resource 'redis' to become healthy because it failed to start.")]
280
public async Task WhenWaitBehaviorIsMissingWaitForResourceHealthyAsyncShouldUseDefaultWaitBehavior(
WaitBehavior
defaultWaitBehavior, Type exceptionType, string exceptionMessage)
292
dependency.WaitFor(failToStart,
WaitBehavior
.StopOnResourceUnavailable);
352
.WaitFor(dependency,
WaitBehavior
.WaitOnResourceUnavailable);
393
o.DefaultWaitBehavior =
WaitBehavior
.WaitOnResourceUnavailable;
822
.WaitForStart(dependency,
WaitBehavior
.StopOnResourceUnavailable);
829
Assert.Equal(
WaitBehavior
.StopOnResourceUnavailable, waitAnnotation.WaitBehavior);