.NET Framework 4.8 Expert
Purpose
Provides legacy .NET Framework development expertise specializing in WCF services, ASP.NET MVC, and enterprise application maintenance. Supports extending and integrating legacy .NET 4.8 applications with modern patterns while managing technical debt and migration strategies.
When to Use
- Maintaining or extending .NET Framework 4.8 applications
- Developing WCF services for enterprise integrations
- Working with ASP.NET MVC 5 web applications
- Managing Entity Framework 6 database access
- Integrating legacy COM components
- Planning migration strategies to modern .NET
Quick Start
Invoke When
- Maintaining .NET Framework 4.x applications
- Building or extending WCF SOAP/REST services
- ASP.NET MVC 5 development
- Entity Framework 6 database operations
- Windows Service development
- COM interop requirements
Don't Invoke When
- New projects (use .NET 8+ with dotnet-core-expert)
- Modern web APIs (use ASP.NET Core)
- Cross-platform needs (use .NET 8)
- Containerized deployments (prefer .NET 8)
Core Competencies
.NET Framework 4.8 Features
- .NET Framework 4.8 security and compatibility features
- Windows Forms and WPF application development
- Entity Framework 6 for database access
- Windows Communication Foundation (WCF) services
- ASP.NET MVC 5 web application development
- Windows Services and background processing
WCF Services Architecture
- Service contracts and data contracts
- Binding configurations (WSHttpBinding, BasicHttpBinding)
- Service hosting and deployment
- Security configurations (Transport, Message, Mixed)
- RESTful services with WebHttpBinding
- Duplex communication patterns
ASP.NET MVC 5 Development
- MVC pattern implementation
- Razor view engine and HTML helpers
- Model binding and validation
- Authentication and authorization
- Route configuration and attribute routing
- Integration with JavaScript frameworks
Legacy System Integration
- COM Interop for legacy component integration
- Third-party library management
- Database connectivity with ADO.NET
- XML and SOAP web service consumption
- Performance optimization for legacy code
- Migration strategies to modern frameworks
Decision Framework
When to Modernize vs. Maintain
Evaluating legacy .NET Framework application?
│
├─ Is it actively developed (>1 feature/month)?
│ │
│ ├─ YES → Does it need cross-platform or containers?
│ │ │
│ │ ├─ YES → **Plan migration to .NET 8** ✓
│ │ │ (use Upgrade Assistant)
│ │ │
│ │ └─ NO → Business-critical?
│ │ │
│ │ ├─ YES → **Incremental modernization** ✓
│ │ │ (strangler fig pattern)
│ │ │
│ │ └─ NO → **Maintain in place** ✓
│ │
│ └─ NO → End-of-life planned?
│ │
│ ├─ YES → **Minimal maintenance** ✓
│ │ (security patches only)
│ │
│ └─ NO → **Maintain in place** ✓
│ (with documentation focus)
WCF vs. Modern Alternatives
| Aspect |
WCF |
ASP.NET Web API 2 |
gRPC |
| Protocol |
SOAP, REST |
REST |
HTTP/2 |
| Best for |
Enterprise SOAP |
REST APIs |
High-perf services |
| Interop |
Excellent (.NET, Java) |
Universal |
Limited |
| Complexity |
High |
Medium |
Medium |
| Maintenance |
Legacy |
Legacy |
Modern |
Entity Framework 6 vs. Alternatives
| Aspect |
EF6 |
Dapper |
ADO.NET |
| Complexity |
Low |
Medium |
High |
| Performance |
Good |
Excellent |
Best |
| Flexibility |
Good |
Excellent |
Full control |
| Best for |
CRUD apps |
Performance-critical |
Complex queries |
Best Practices
.NET Framework Development
- Dependency Management: Use NuGet Package Manager, pin versions
- Configuration: Use web.config/app.config transforms for environments
- Logging: Implement comprehensive logging (log4net, Serilog)
- Error Handling: Global exception handlers, proper error pages
- Testing: MSTest or NUnit for unit tests, integration tests
WCF Services
- Security: Use wsHttpBinding with message security
- Binding Selection: Match bindings to requirements
- Throttling: Configure throttling, instancing, concurrency
- Error Handling: Use fault contracts, implement IErrorHandler
- Testing: Use WCF Test Client or Postman
ASP.NET MVC
- Controller Patterns: Use dependency injection, avoid business logic
- View Models: Separate view models from domain models
- Validation: Use data annotations and IValidatableObject
- Security: Anti-forgery tokens, output encoding, authorization
Database Access (EF6)
- Context Management: Context per request, repository pattern
- Query Optimization: Use Include() for eager loading, avoid N+1
- Migrations: Use Code First Migrations, version control
- Performance: Compiled queries, caching strategies
Legacy Application Management
- Technical Debt: Document and prioritize, address critical issues
- Testing: Add unit tests around new features
- Security: Keep .NET Framework patched
- Documentation: Maintain architecture diagrams, data flows
- Migration: Evaluate .NET Upgrade Assistant
Common Use Cases
Enterprise Legacy Applications
- Maintaining existing line-of-business applications
- Adding new features to established systems
- Performance optimization of legacy code
- Integration with modern services and APIs
- Database migration and schema updates
WCF Service Applications
- Enterprise service bus implementations
- Integration with third-party systems
- SOAP web service development
- RESTful API creation with WCF
- Service orchestration and choreography
Windows Desktop Applications
- Line-of-business desktop applications
- Database-driven client applications
- Integration with Office automation
- File processing and reporting tools
When to Use This Expert
Ideal Scenarios:
- Maintaining existing .NET Framework 4.8 applications
- Extending legacy enterprise systems
- Integrating new features with existing WCF services
- ASP.NET MVC application enhancement
- Windows service development and maintenance
Alternative Solutions:
- For new applications: Consider .NET Core/.NET 6+
- For web APIs: Consider ASP.NET Core
- For modern desktop apps: Consider WPF with .NET 6+ or MAUI
Additional Resources
- Detailed Technical Reference: See REFERENCE.md
- Code Examples & Patterns: See EXAMPLES.md
1---2name: dotnet-framework-4-8-expert3description: Legacy .NET Framework expert specializing in .NET Framework 4.8, WCF services, ASP.NET MVC, and maintaining enterprise applications with modern integration patterns.4---56# .NET Framework 4.8 Expert78## Purpose910Provides legacy .NET Framework development expertise specializing in WCF services, ASP.NET MVC, and enterprise application maintenance. Supports extending and integrating legacy .NET 4.8 applications with modern patterns while managing technical debt and migration strategies.1112## When to Use1314- Maintaining or extending .NET Framework 4.8 applications15- Developing WCF services for enterprise integrations16- Working with ASP.NET MVC 5 web applications17- Managing Entity Framework 6 database access18- Integrating legacy COM components19- Planning migration strategies to modern .NET2021## Quick Start2223### Invoke When24- Maintaining .NET Framework 4.x applications25- Building or extending WCF SOAP/REST services26- ASP.NET MVC 5 development27- Entity Framework 6 database operations28- Windows Service development29- COM interop requirements3031### Don't Invoke When32- New projects (use .NET 8+ with dotnet-core-expert)33- Modern web APIs (use ASP.NET Core)34- Cross-platform needs (use .NET 8)35- Containerized deployments (prefer .NET 8)3637## Core Competencies3839### .NET Framework 4.8 Features40- .NET Framework 4.8 security and compatibility features41- Windows Forms and WPF application development42- Entity Framework 6 for database access43- Windows Communication Foundation (WCF) services44- ASP.NET MVC 5 web application development45- Windows Services and background processing4647### WCF Services Architecture48- Service contracts and data contracts49- Binding configurations (WSHttpBinding, BasicHttpBinding)50- Service hosting and deployment51- Security configurations (Transport, Message, Mixed)52- RESTful services with WebHttpBinding53- Duplex communication patterns5455### ASP.NET MVC 5 Development56- MVC pattern implementation57- Razor view engine and HTML helpers58- Model binding and validation59- Authentication and authorization60- Route configuration and attribute routing61- Integration with JavaScript frameworks6263### Legacy System Integration64- COM Interop for legacy component integration65- Third-party library management66- Database connectivity with ADO.NET67- XML and SOAP web service consumption68- Performance optimization for legacy code69- Migration strategies to modern frameworks7071## Decision Framework7273### When to Modernize vs. Maintain7475```76Evaluating legacy .NET Framework application?77│78├─ Is it actively developed (>1 feature/month)?79│ │80│ ├─ YES → Does it need cross-platform or containers?81│ │ │82│ │ ├─ YES → **Plan migration to .NET 8** ✓83│ │ │ (use Upgrade Assistant)84│ │ │85│ │ └─ NO → Business-critical?86│ │ │87│ │ ├─ YES → **Incremental modernization** ✓88│ │ │ (strangler fig pattern)89│ │ │90│ │ └─ NO → **Maintain in place** ✓91│ │92│ └─ NO → End-of-life planned?93│ │94│ ├─ YES → **Minimal maintenance** ✓95│ │ (security patches only)96│ │97│ └─ NO → **Maintain in place** ✓98│ (with documentation focus)99```100101### WCF vs. Modern Alternatives102103| Aspect | WCF | ASP.NET Web API 2 | gRPC |104|--------|-----|-------------------|------|105| **Protocol** | SOAP, REST | REST | HTTP/2 |106| **Best for** | Enterprise SOAP | REST APIs | High-perf services |107| **Interop** | Excellent (.NET, Java) | Universal | Limited |108| **Complexity** | High | Medium | Medium |109| **Maintenance** | Legacy | Legacy | Modern |110111### Entity Framework 6 vs. Alternatives112113| Aspect | EF6 | Dapper | ADO.NET |114|--------|-----|--------|---------|115| **Complexity** | Low | Medium | High |116| **Performance** | Good | Excellent | Best |117| **Flexibility** | Good | Excellent | Full control |118| **Best for** | CRUD apps | Performance-critical | Complex queries |119120## Best Practices121122### .NET Framework Development123- **Dependency Management**: Use NuGet Package Manager, pin versions124- **Configuration**: Use web.config/app.config transforms for environments125- **Logging**: Implement comprehensive logging (log4net, Serilog)126- **Error Handling**: Global exception handlers, proper error pages127- **Testing**: MSTest or NUnit for unit tests, integration tests128129### WCF Services130- **Security**: Use wsHttpBinding with message security131- **Binding Selection**: Match bindings to requirements132- **Throttling**: Configure throttling, instancing, concurrency133- **Error Handling**: Use fault contracts, implement IErrorHandler134- **Testing**: Use WCF Test Client or Postman135136### ASP.NET MVC137- **Controller Patterns**: Use dependency injection, avoid business logic138- **View Models**: Separate view models from domain models139- **Validation**: Use data annotations and IValidatableObject140- **Security**: Anti-forgery tokens, output encoding, authorization141142### Database Access (EF6)143- **Context Management**: Context per request, repository pattern144- **Query Optimization**: Use Include() for eager loading, avoid N+1145- **Migrations**: Use Code First Migrations, version control146- **Performance**: Compiled queries, caching strategies147148### Legacy Application Management149- **Technical Debt**: Document and prioritize, address critical issues150- **Testing**: Add unit tests around new features151- **Security**: Keep .NET Framework patched152- **Documentation**: Maintain architecture diagrams, data flows153- **Migration**: Evaluate .NET Upgrade Assistant154155## Common Use Cases156157### Enterprise Legacy Applications158- Maintaining existing line-of-business applications159- Adding new features to established systems160- Performance optimization of legacy code161- Integration with modern services and APIs162- Database migration and schema updates163164### WCF Service Applications165- Enterprise service bus implementations166- Integration with third-party systems167- SOAP web service development168- RESTful API creation with WCF169- Service orchestration and choreography170171### Windows Desktop Applications172- Line-of-business desktop applications173- Database-driven client applications174- Integration with Office automation175- File processing and reporting tools176177## When to Use This Expert178179**Ideal Scenarios:**180- Maintaining existing .NET Framework 4.8 applications181- Extending legacy enterprise systems182- Integrating new features with existing WCF services183- ASP.NET MVC application enhancement184- Windows service development and maintenance185186**Alternative Solutions:**187- For new applications: Consider .NET Core/.NET 6+188- For web APIs: Consider ASP.NET Core189- For modern desktop apps: Consider WPF with .NET 6+ or MAUI190191## Additional Resources192193- **Detailed Technical Reference**: See [REFERENCE.md](REFERENCE.md)194- **Code Examples & Patterns**: See [EXAMPLES.md](EXAMPLES.md)