> I have seen no indications of this being addressed: There should be an automatic, native and super efficient way of making function calls between the client and the server. #47703
Labels
area-blazor
Includes: Blazor, Razor Components
✔️ Resolution: Duplicate
Resolved as a duplicate of another issue
@Bartolomeus-649 That's fair. We do envision facilitating client-server data access for Blazor United apps, but it hasn't been decided yet what approach we will take, and I don't think we have a good tracking issue for this yet. There's lots to consider: What format/protocol should we use? How do we provide a strongly typed integrated .NET programming model without introducing tight coupling? How do we enable interoperability for when these endpoints aren't just for the frontend client anymore? How do we appropriately surface considerations when making network calls like network failures or latency? Is there tech we can just reuse without having to reinvent the wheel? Etc. Do you want to split this out as a separate issue and start the discussion on a proposal?
Originally posted by @danroth27 in #35358 (comment)
@danroth27
What format/protocol should we use? Use SignalR (or the same one you use for everything else).
Do not invent a new second protocol that needs to be supported. It’s hard enough even for Microsoft to get support for SignalR (Ask the FrontDoor team).
How do we provide a strongly typed integrated .NET programming model without introducing tight coupling?
Why is tight coupling an issue? The client and server are one thing. The server-side part and the client (WASM) side part are one unit. You should not release them as separate packages.
How do we enable interoperability for when these endpoints aren’t just for the frontend client anymore?
That’s not supported. This should be exactly for the scenario where the only supported client is the WASM-project in the same VS solution. If anyone wants an open API, there are plenty of ways of doing that.
How do we appropriately surface considerations when making network calls like network failures or latency?
This is all built into SignalR. Handle it the same way as you do any other client/server communication.
Is there tech we can just reuse without having to reinvent the wheel?
Yes, use the communication platform already in use by Blazor (SignalR). No new wheels needed.
The text was updated successfully, but these errors were encountered: