Migrate ASP.NET MVC 5 to ASP.NET Core 7 Web API #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Migrate ASP.NET MVC 5 to ASP.NET Core 7 Web API
Summary
This PR migrates the existing ASP.NET MVC 5 (.NET Framework 4.8) application to ASP.NET Core 7 Web API while preserving the AngularJS frontend functionality. The migration creates a new
AngularJsAspNetCore7project alongside the original to demonstrate the modernized architecture.Key Changes:
LandingControllerfrom MVC controller (returning views) to API controller (returning JSON)wwwrootdirectoryReview & Testing Checklist for Human
Risk Level: 🟡 Medium - Architectural migration with multiple integration points
http://localhost:51267and verify AngularJS app loads with both test component and directive displaying correct version numbershttp://localhost:51267/api/landingreturns proper JSON response and CORS headers allow frontend requestswwwrootstructure with originalWebAppdirectory to ensure all files were copied correctlyTest Plan: Run
dotnet runinAngularJsAspNetCore7directory, open browser to localhost:51267, verify both AngularJS components render, then test API endpoint directly.Diagram
%%{ init : { "theme" : "default" }}%% graph TB subgraph "Original .NET Framework 4.8" OldController["Controllers/LandingController.cs<br/>(Returns View)"]:::context OldView["Views/Landing/Index.cshtml<br/>(Razor View)"]:::context OldBundle["App_Start/BundleConfig.cs<br/>(Asset Bundling)"]:::context OldWebApp["WebApp/<br/>(AngularJS Files)"]:::context end subgraph "New ASP.NET Core 7" NewController["AngularJsAspNetCore7/Controllers/LandingController.cs<br/>(API Controller)"]:::major-edit Program["AngularJsAspNetCore7/Program.cs<br/>(CORS + Static Files)"]:::major-edit StaticHTML["AngularJsAspNetCore7/wwwroot/index.html<br/>(Static Bootstrap)"]:::major-edit StaticFiles["AngularJsAspNetCore7/wwwroot/WebApp/<br/>(Copied AngularJS Files)"]:::minor-edit StaticAssets["AngularJsAspNetCore7/wwwroot/node_modules/<br/>(jQuery + Angular)"]:::minor-edit end OldController -.->|"Migrated to API"| NewController OldView -.->|"Replaced with"| StaticHTML OldBundle -.->|"Replaced with"| StaticFiles OldWebApp -.->|"Copied to"| StaticFiles StaticHTML -->|"Loads"| StaticAssets StaticHTML -->|"Bootstraps"| StaticFiles subgraph Legend L1["Major Edit"]:::major-edit L2["Minor Edit"]:::minor-edit L3["Context/No Edit"]:::context end classDef major-edit fill:#90EE90 classDef minor-edit fill:#87CEEB classDef context fill:#FFFFFFNotes
http://localhost:51267- may need adjustment for production deploymentSession Info:
Screenshots from local testing:
![AngularJS Frontend]()
![API Endpoint]()