Category: projects

  • Aspire Resource for Aspire–part 1–idea

    I have published many  Aspire Extensions ( see https://msprogrammer.serviciipeweb.ro/category/aspire/ –  ) However, to make an AUTOMATED demo, I need the token url of the dashboard and the url itself. How can I obtain those and pass to the demo / tests ? So here are the specs As a Aspire Resource developer I wanted to…

  • NetCoreUsefullEndpoints-part 14–adding roles and claims and authorization

    I have added the current user role and claims to the nuget Usefull Endpoints for .NET Core  .  The endpoints are api/usefull/user/isInRole/{roleName} and api/usefull/user/claims/simple and api/usefull/user/authorization For the first one the code is pretty simple For claims and authorization,please see code at ignatandrei/NetCoreUsefullEndpoints: Usefull Endpoints for .NET Core

  • Demeter and Roslyn–part 3–config and tests

    Beyond the Squiggles: Flexible Reporting and Confidence Through Testing So,we’ve built our Law of Demeter analyzer,RSCG_Demeter,using Roslyn to intelligently spot those overly-chatty code chains,even navigating the complexities of fluent interfaces. We could just have it throw warnings or errors directly in your IDE via Roslyn diagnostics. But let’s be honest,sometimes a flood of new diagnostics…

  • Demeter and Roslyn–part 2- code

    Okay,let’s build on the first part and explain the “how” in a more engaging way,weaving in the code snippets to illustrate the process. From Counting Dots to Understanding Code: Building the Demeter Analyzer In the first part,we established our mission: build a Roslyn analyzer to sniff out Law of Demeter violations – stopping our code…

  • Demeter and Roslyn–part 1–idea

    Stop Your C# Code Talking to Strangers: Introducing a Law of Demeter Roslyn Analyzer The Law of Demeter (LoD),often summarized as “Only talk to your immediate friends,” is a valuable principle for writing loosely coupled,maintainable code. Code that follows LoD tends to be less fragile and easier to refactor. But manually checking for LoD violations?…

  • What I have learned by building .NET Stars -part 5 – always available data for a display website

    What I have learned by building .NET Stars -part 5 – always available data for a display website Dotnet Stars being a site just for displaying data,it does not require an API per se. Yes,for development purposes it needs a database and an API to display – but later – the data could be retrieved…

  • RSCG-Composite Provider – part 2 -execution

    Imagine this: For every interface IA you create: Your composite provider implements IA seamlessly In the constructor,pass an array of IA providers Each method returns the first successful value from your array of providers For even better performance,use a boolean flag to optimize by reusing previous successes The RSCG_CompositeProvider package doesnΓÇÖt just solve the obvious…

  • RSCG-Composite Provider – part 1 -idea

    API Outage solved with local data The problem that I try to solve is : How an UI can have data to show,even if the API from where it gathers data does not work ? Imagine having a robust system that adaptively switches between retrieving data from multiple sources – including internal APIs,memory-based storage,or even…

  • What I have learned by building .NET Stars -part 4- Keyed Dependency Injection – constructor by keys

    As I said before,I have constructed first the interfaces. Then I have a null object pattern for each interface,constructed automatically with a Roslyn Code Generator,https://www.nuget.org/packages/rscg_Interface_to_null_object . And now,what I want is to have keyed DI for each new implementation -with a twist: It’s like a game of matching keys when another class is injected,the first…

  • What I have learned by building .NET Stars -part 3- Aspire

    I have that same idea to build a project : is what is called today a Modular Monolith – and it is very old in .NET world as can be implemented as a .sln solution. For those unfamiliar,a Modular Monolith allows you to break down your application into independent modules (think database access,data flow logic,a…