The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →To find which React screens may be affected by a C# handler change, you need to connect backend route definitions to frontend HTTP calls. Mahmoud Nabil describes building slnmap to do that with a Roslyn-based .NET graph, a TypeScript-based frontend extractor and a linker that matches endpoint templates. Its results show statically resolved relationships in the indexed code—not proof that a screen will run a call or that every impact has been found.
Why trace a handler across two languages?
A repository-wide search can find a handler name or route string, but it may not reveal which frontend calls correspond to the backend endpoint. The question Nabil set out to answer was practical: if a developer changes a C# handler, which React call sites may depend on it?
As an Amazon Associate I earn from qualifying purchases.
That requires connecting two different views of the application. The backend defines endpoints and handlers; the frontend issues HTTP requests, sometimes through shared hooks or route constants. slnmap represents these as relationships in a code graph so a developer can follow a possible impact path from handler to endpoint to frontend call site.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11How slnmap builds the cross-stack path
Extracting the .NET side
In Nabil’s account, the .NET analyzer uses Roslyn to model HTTP endpoints. Its route resolution handles patterns including route groups, controller tokens, constants and overloads. This creates the backend endpoint information that the frontend calls will later be matched against.
#1 Best Overall
Finding frontend HTTP calls
The frontend component, slnmap-ts, uses the TypeScript Compiler API and type checker to extract HTTP call sites and resolve route expressions. That includes literals reached through imported constants, rather than only strings written directly at each request.
Linking routes and showing impact
A linker matches frontend and backend endpoint templates using HTTP verbs and precedence rules. In the resulting graph, an impact path can lead from a C# command handler to its POST endpoint and then to frontend call sites. Nabil’s example includes two call sites, one of them a shared hook. Showing that hook as a multi-target caller preserves the relationship without pretending it belongs to only one route.
An edge means the tool resolved a static relationship within the indexed graph. It does not establish that a particular screen will execute the call under every runtime condition, nor does it guarantee that all relevant screens are represented. Nabil’s stated principle is: “if the tool can’t resolve something statically, it counts it and says so. It never guesses.” That is the project maintainer’s description of the approach, not an independent guarantee of implementation accuracy.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Rank #2
What the reported coverage numbers mean
Nabil reports that, in one reference codebase, the tool found 743 frontend call sites and resolved 91% to exact route templates. He also reports deterministic links for 716 of those 743 call sites, with the remaining 27 disclosed with a reason. The available article result gives an August 24 posting date but does not establish a dependable year.
These are author-reported figures for one codebase, not an independently audited benchmark or a general accuracy rate. They should not be used to predict coverage in another repository. Nabil also refers to an earlier experiment resolving 96.6% of frontend HTTP calls to backend route templates, but its year and measurement method are not established, so it is not a reliable like-for-like comparison.
A mismatch that exposed a useful check
Nabil recounts finding a production dialog that sent POST to /organizationusers while the backend exposed GET at that path. He says the mismatch motivated a first-class orphan-call check. The check distinguishes a path with no backend match from a path that exists under a different HTTP verb—an important distinction when a URL looks familiar but the request method does not line up.
This is an author-reported example, not an independently verified incident. Its practical lesson is that route matching should account for the HTTP verb, and that unmatched calls should be visible rather than silently discarded.
Where the described analysis stops
The project’s documented gaps matter when interpreting an impact path. Nabil says Blazor and Razor Pages are detected and disclosed but are not yet modeled; MediatR sender.Send dispatch is not traced, so a chain stops at the handler; Angular and Vue detection is honest but mostly unresolved; and monorepo TypeScript configurations need per-package targeting.
Consequently, an absent edge can mean the relationship is outside the modeled coverage or could not be resolved, not that no dependency exists. Check unresolved counts and framework coverage before treating the graph as a change checklist. For runtime behavior, validate important paths with the tests and application checks your team already relies on.
Rank #4
How to try the workflow on your repository
Nabil describes slnmap as free software under the MIT license and provides these commands for installing the .NET tool, analyzing a solution, analyzing a frontend project, linking graph data and serving MCP tools. Run them from the appropriate project or repository context, and review the tool’s output for unresolved relationships and coverage limits.
-
Install the .NET tool:
dotnet tool install -g slnmapWhat’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Analyze a .NET solution:
slnmap analyze path/to/YourSolution.sln -
Analyze the frontend project:
slnmap-ts analyze path/to/frontend -
Link the backend and frontend graph data:
slnmap link -
Serve the MCP tools:
slnmap serve --mcp
Before relying on the resulting graph for a change, inspect what was resolved and what was disclosed as unresolved. Confirm that the repository’s frontend framework and TypeScript project layout are within the described coverage, then use the graph as a navigation aid alongside code review and runtime tests—not as a guarantee that a screen will break or remain unaffected.
Recommended Free Tools
What to evaluate before adopting it
The account does not provide a head-to-head evaluation against other tools. For a team considering this workflow, the useful questions are whether it covers the languages and frameworks actually used, how it resolves route expressions and ambiguous templates, whether it accounts for HTTP verbs, and whether unresolved edges are surfaced with reasons. Also consider whether its repository and MCP workflow fits the team’s tooling, and how graph findings will be checked against tests and runtime behavior.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




