Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

How to connect Blazor App with new Aspire serverless SignalR emulator

$
0
0

I struggle to connect my Blazor app to the new Aspire 9.1 Serverless SignalR emulator.

This is how I have configured my AppHost Program.cs:

var signalr = builder    .AddAzureSignalR("signalr", AzureSignalRServiceMode.Serverless)    .RunAsEmulator();var hub = builder    .AddAzureFunctionsProject<Projects.Entries_Hub>("hub")    .WithReference(signalr)    .WaitFor(signalr)    .WithExternalHttpEndpoints()    .WithHostStorage(storage);

The Entries.Hub project is an Azure Function. Here is a snippet of the Negotiate method:

    [Function("negotiate")]    public async Task<HttpResponseData> Negotiate(        [HttpTrigger(AuthorizationLevel.Anonymous, HubConstants.Post)] HttpRequestData req, CancellationToken cancellationToken)    {        var userId = req.Query["userId"];        var negotiateResponse = await NegotiateAsync(new() { UserId = userId });        var response = req.CreateResponse();        await response.WriteBytesAsync(negotiateResponse.ToArray(), cancellationToken);        return response;    }

The emulator starts up properly in Docker:

e7e99b25940a9da0feeacd2fb8f5af03434a68fe5bb0de5fdc61e00172b707c6Loaded settings from '/emulator/settings.json'. Changes to the settings file will be hot-loaded into the emulator.warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]      Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed. For more information go to https://aka.ms/aspnet/dataprotectionwarningwarn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]      No XML encryptor configured. Key {0225979c-fd8a-4662-a8c4-66e28a87a337} may be persisted to storage in unencrypted form.warn: Microsoft.AspNetCore.Server.Kestrel[0]      Overriding address(es) 'http://*:8080'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.===================================================The Azure SignalR Emulator was successfully started.Press Ctrl+C to stop the Emulator.  TIPS: Use the below value inside *********** block as its ConnectionString:***********Endpoint=http://0.0.0.0;Port=8888;AccessKey=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGH;Version=1.0;***********===================================================Current Upstream Settings:    [0]http://host.docker.internal:7071/runtime/webhooks/signalr(event:'*',hub:'*',category:'*')

This is the Exception in the Browser Console:

Mixed Content: The page at 'https://localhost:7164/' was loaded over HTTPS, but requested an insecure resource 'http://0.0.0.0:8888/client/negotiate?hub=notificationhub&negotiateVersion=1'. This request has been blocked; the content must be served over HTTPS.

What is the "trick" to connect with the Aspire Serverless SignalR emulator in Blazor?

I have been using the signalr emulator for a while. Everything works fine when starting it up manually. It is only when trying to use the new Aspire emulator that I get any errors.


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>