I have bee aggressively following up on Blazor and am at a point where I want to take an enterprise app from my workplace and convert it to blazor staying within the restrictions of an enterprise. I have numerous questions but I'll keep it very focused: What model do I start with when it comes to hosting. ASP.Net Hosted, Server, or Client?
Here is a common architecture that almost every simplest of applications follow in my company:

In brief:
Web Portals and Mobile apps (usually websites as well) cannot have any references to ADO or Entity Framework. They can only have URIs to the service endpoint. No direct database access is allowed. These UI layers must get data cached if available.
User authentication is federated and we use Okta. So Single Sign-On (SSO) allows me to get user identifier (domain email) and I pass that back up to the Logic layer to get a matching authentication from the database.
The WCF client is auto-generated using WcfClientProxyGenerator and is depending on the app settings of the web application to bring in URIs.
The WCF Service has all the Entity Framework references and connection strings.
The web applications are behind a load-balanced VM pair and the WCF Service (and everything behind) is also a pair of load balanced VMs
Caching is a standalone server
In such an environment, what hosting model do I chose for Blazor? My web servers are not cloud-based but they are VMs in a data center. They are Windows Server 2016 with IIS and in most cases the IT and Cybersecurity expect a standard web app running under an Application Pool on IIS.
Also, due to the nature of Blazor, I'm allowed a certain C# code to be available to the clients (View Source) but that should only be so formatting logic etc. type code. Everything else that even gives a hint of the model or data being sent back is a big no go (C# or Java)
I am trying to understand the Server Side and the Hosted one right now. Any guidance will be greatly appreciated.
By the sounds of it you would probably want to use server-side Blazor. This is the rendering model which happens entirely server-side and uses a small runtime to update the clients DOM.
This model of Blazor would mean no C# is passed to the client which I think addresses your companies policy.
I would really suggest you have a read through all the docs on the official site. This is all explained there really well.
Blazor server-side hosting model is best suited for the Enterprise, and for the requirements you referred in your question. However, I may shift the focus to the employment of WCF, as WCF is an old technology, you've worked hard to learn, but alas, Microsoft is not going to support it in .Net Core 5. Start thinking Web Api
Blazor server-side and Web Api can be a viable solution to your wishful project...
Hope this helps...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With