From e7ca832c8c6b6ef04725a7eef241f928e370a564 Mon Sep 17 00:00:00 2001 From: Whit Waldo Date: Fri, 18 Apr 2025 18:40:49 -0500 Subject: [PATCH] Modernized example for binding outputs in .NET Signed-off-by: Whit Waldo --- .../bindings/howto-bindings.md | 46 ++++++++----------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md index 02df63c20..98b18bf37 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md +++ b/daprdocs/content/en/developing-applications/building-blocks/bindings/howto-bindings.md @@ -110,40 +110,30 @@ The code examples below leverage Dapr SDKs to invoke the output bindings endpoin {{% codetab %}} +Here's an example of using a console app with top-level statements in .NET 6+: + ```csharp -//dependencies -using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Net.Http.Headers; +using System.Text; using System.Threading.Tasks; using Dapr.Client; -using Microsoft.AspNetCore.Mvc; -using System.Threading; -//code -namespace EventService +var builder = WebApplication.CreateBuilder(args); +builder.Serivces.AddDaprClient(); +var app = builder.Build(); + +const string BINDING_NAME = "checkout"; +const string BINDING_OPERATION = "create"; + +var random = new Random(); +using var daprClient = app.Services.GetRequiredService(); + +while (true) { - class Program - { - static async Task Main(string[] args) - { - string BINDING_NAME = "checkout"; - string BINDING_OPERATION = "create"; - while(true) - { - System.Threading.Thread.Sleep(5000); - Random random = new Random(); - int orderId = random.Next(1,1000); - using var client = new DaprClientBuilder().Build(); - //Using Dapr SDK to invoke output binding - await client.InvokeBindingAsync(BINDING_NAME, BINDING_OPERATION, orderId); - Console.WriteLine("Sending message: " + orderId); - } - } - } + await Task.Delay(TimeSpan.FromSeconds(5)); + var orderId = random.Next(1, 1000); + await client.InvokeBindingAsync(BINDING_NAME, BINDING_OPERATION, orderId); + Console.WriteLine($"Sending message: {orderId}"); } - ``` {{% /codetab %}}