Files
wehub-resource-sync db620d33df
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00
..

A2A Agent Protocol Selection

This sample demonstrates how to select the A2A protocol binding when creating an AIAgent from an A2A agent card.

A2A agents can expose multiple interfaces with different protocol bindings (e.g., HTTP+JSON, JSON-RPC). By default, AsAIAgent() prefers HTTP+JSON with JSON-RPC as a fallback. This sample shows how to use A2AClientOptions.PreferredBindings to explicitly control which protocol binding is used.

The sample:

  • Connects to an A2A agent server specified in the A2A_AGENT_HOST environment variable
  • Configures A2AClientOptions to prefer the HTTP+JSON protocol binding
  • Creates an AIAgent from the resolved agent card using the specified binding
  • Sends a message to the agent and displays the response

Prerequisites

Before you begin, ensure you have the following prerequisites:

  • .NET 10.0 SDK or later
  • An A2A agent server running and accessible via HTTP

Note: These samples need to be run against a valid A2A server. If no A2A server is available, they can be run against the echo-agent that can be spun up locally by following the guidelines at: https://github.com/a2aproject/a2a-dotnet/blob/main/samples/AgentServer/README.md

Set the following environment variable:

$env:A2A_AGENT_HOST="http://localhost:5000"  # Replace with your A2A agent server host