46 references to WaitBehavior
Aspire.Hosting (33)
ApplicationModel\ResourceNotificationService.cs (19)
34
internal
WaitBehavior
DefaultWaitBehavior { get; set; }
55
DefaultWaitBehavior =
WaitBehavior
.StopOnResourceUnavailable;
74
DefaultWaitBehavior = serviceProvider.GetService<IOptions<ResourceNotificationServiceOptions>>()?.Value.DefaultWaitBehavior ??
WaitBehavior
.StopOnResourceUnavailable;
144
private async Task WaitUntilHealthyAsync(IResource resource, IResource dependency,
WaitBehavior
waitBehavior, CancellationToken cancellationToken)
182
/// control this behavior use <see cref="WaitForResourceHealthyAsync(string,
WaitBehavior
, CancellationToken)"/>
206
/// <see cref="
WaitBehavior
"/> controls how the wait operation behaves when the resource
210
/// When <see cref="
WaitBehavior
.WaitOnResourceUnavailable"/> is specified the wait operation
214
/// When <see cref="
WaitBehavior
.StopOnResourceUnavailable"/> is specified the wait operation
219
public async Task<ResourceEvent> WaitForResourceHealthyAsync(string resourceName,
WaitBehavior
waitBehavior, CancellationToken cancellationToken = default)
242
static bool ShouldYield(
WaitBehavior
waitBehavior, CustomResourceSnapshot snapshot) =>
245
WaitBehavior
.WaitOnResourceUnavailable => snapshot.HealthStatus == HealthStatus.Healthy,
246
WaitBehavior
.StopOnResourceUnavailable => snapshot.HealthStatus == HealthStatus.Healthy ||
310
private async Task WaitUntilStateAsync(IResource resource, IResource dependency,
WaitBehavior
waitBehavior,
333
if (waitBehavior ==
WaitBehavior
.StopOnResourceUnavailable)
363
static bool IsContinuableState(
WaitBehavior
waitBehavior, CustomResourceSnapshot snapshot) =>
366
WaitBehavior
.WaitOnResourceUnavailable => snapshot.State?.Text == KnownResourceStates.Running,
367
WaitBehavior
.StopOnResourceUnavailable => snapshot.State?.Text == KnownResourceStates.Running ||
377
private async Task WaitUntilStartedAsync(IResource resource, IResource dependency,
WaitBehavior
waitBehavior, CancellationToken cancellationToken)
899
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)
322
o.DefaultWaitBehavior = options.DisableDashboard ?
WaitBehavior
.StopOnResourceUnavailable :
WaitBehavior
.WaitOnResourceUnavailable;
ResourceBuilderExtensions.cs (10)
1413
/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource},
WaitBehavior
)"/> also results
1419
/// wait operation. When <see cref="
WaitBehavior
.WaitOnResourceUnavailable"/> is specified, the wait
1422
/// <para>When <see cref="
WaitBehavior
.StopOnResourceUnavailable"/> is specified, the wait operation
1435
public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
waitBehavior) where T : IResourceWithWaitSupport
1443
private static IResourceBuilder<T> WaitForCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport
1519
/// <para>Unlike <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource},
WaitBehavior
)"/>, this method
1523
/// wait operation. When <see cref="
WaitBehavior
.WaitOnResourceUnavailable"/> is specified, the wait
1526
/// <para>When <see cref="
WaitBehavior
.StopOnResourceUnavailable"/> is specified, the wait operation
1539
public static IResourceBuilder<T> WaitForStart<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency,
WaitBehavior
waitBehavior) where T : IResourceWithWaitSupport
1547
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)
208
.WaitFor(dependency,
WaitBehavior
.StopOnResourceUnavailable);
238
dependency.WaitFor(failToStart,
WaitBehavior
.StopOnResourceUnavailable);
246
WaitBehavior
.StopOnResourceUnavailable
262
dependency.WaitFor(failToStart,
WaitBehavior
.StopOnResourceUnavailable);
270
WaitBehavior
.WaitOnResourceUnavailable
279
[InlineData(
WaitBehavior
.WaitOnResourceUnavailable, typeof(TimeoutException), "The operation has timed out.")]
280
[InlineData(
WaitBehavior
.StopOnResourceUnavailable, typeof(DistributedApplicationException), "Stopped waiting for resource 'redis' to become healthy because it failed to start.")]
281
public async Task WhenWaitBehaviorIsMissingWaitForResourceHealthyAsyncShouldUseDefaultWaitBehavior(
WaitBehavior
defaultWaitBehavior, Type exceptionType, string exceptionMessage)
293
dependency.WaitFor(failToStart,
WaitBehavior
.StopOnResourceUnavailable);
353
.WaitFor(dependency,
WaitBehavior
.WaitOnResourceUnavailable);
394
o.DefaultWaitBehavior =
WaitBehavior
.WaitOnResourceUnavailable;
823
.WaitForStart(dependency,
WaitBehavior
.StopOnResourceUnavailable);
830
Assert.Equal(
WaitBehavior
.StopOnResourceUnavailable, waitAnnotation.WaitBehavior);