-
Notifications
You must be signed in to change notification settings - Fork 474
Open
Labels
area: httpItems related to experience improvements for HTTP triggersItems related to experience improvements for HTTP triggersenhancement
Description
What problem would the feature you're requesting solve? Please describe.
Currently, Azure Functions requires decorating HTTP endpoints with Functions-specific attributes ([FunctionName], [HttpTrigger]), which creates vendor lock-in and prevents using standard ASP.NET Core controllers.
This forces developers to choose between:
- Standard ASP.NET Core (portable, but no Functions deployment)
- Functions-specific code (serverless, but locked to Azure)
Describe the solution you'd like
Azure Functions runtime should support deploying standard ASP.NET Core applications without code modifications. The runtime should:
- Detect standard ASP.NET Core projects (Program.cs, Controllers)
- Host Kestrel within the Functions runtime
- Route HTTP triggers to the ASP.NET Core pipeline transparently
Configuration (scaling, billing, lifecycle) remains in infrastructure (host.json, ARM templates), NOT in code.
Describe alternatives you've considered
- Container Apps: Works but loses Functions-specific features
- Adapter pattern: Adds boilerplate and maintenance burden
- AWS Lambda Web Adapter: Already solves this problem
Additional context
.NET Core's value proposition is portability and open standards.
Requiring Functions-specific attributes contradicts this philosophy.
The same code should deploy to:
- Azure Functions
- App Service
- Container Apps
- IIS
- Standalone Kestrel
Deployment target should be infrastructure concern, not application code.
Metadata
Metadata
Assignees
Labels
area: httpItems related to experience improvements for HTTP triggersItems related to experience improvements for HTTP triggersenhancement