# ASP.NET

ASP.NET is an open source web framework for building modern web apps and services with .NET.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## CodeSOD: Extremely One Line

DevFeed: [CodeSOD: Extremely One Line](<https://devfeed.tech/articles/codesod-extremely-one-line-31464.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/extremely-one-line>)

Author: Remy Porter

Published: 2026-09-16T06:30:00Z

Content type: opinion

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Code](<https://devfeed.tech/topics/code.md>), [Visual Studio](<https://devfeed.tech/topics/visual-studio.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [browser](<https://devfeed.tech/topics/browser.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [browser](<https://devfeed.tech/tags/browser.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [codesod](<https://devfeed.tech/tags/codesod.md>), [http](<https://devfeed.tech/tags/http.md>), [studio](<https://devfeed.tech/tags/studio.md>)

### AI overview

This CodeSOD commentary examines an ancient ASP .Net application containing a function written on one line, Safari user-agent detection, and a mysterious "uplevel" value. It criticizes the confusing style and notes that the same pattern appears on multiple pages.

### Source excerpt

Autoformatting your code is a standard thing to do these days. And in those days past, if we're being honest. There's no excuse to not use some kind of autoformatter. Whether you configure your editor to do it or are a weirdo like me who runs a formatter from the CLI as a build step, you've got an easy way to format your code so it looks neat and readable. And some IDEs, like Visual Studio, are pretty insistent about doing this for you. Which makes today's code sample a bit more perplexing. This comes from an ancient ASP .Net application that Austin has the misfortune to work with: protected void Page_PreInit(object sender, EventArgs e){if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)Page.ClientTarget = "uplevel";} protected void Page_Load(object sender, EventArgs e) { Logic(); } Which function is Logic() called from? The fact that I'm asking probably is enough to get you to scroll over. The entire Page_PreInit function is on a single line, followed by the declaration of the Page_Load function. A confusing and annoying choice. The real bonus is that if the browser has "Safari" in its user agent, we set a field to a mysterious "uplevel" value. A mix of user agent sniffing, strings as enums/flags, and wonderfully unclear names. And yes, this particular pattern appears in more than one page in Austin's application. Someone thought this was not just a good idea, but good enough to do over and over again. [Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-memory-31440.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory>)

Author: Amanda Lange

Published: 2026-09-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [.NET](<https://devfeed.tech/topics/net.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [conversation-memory](<https://devfeed.tech/tags/conversation-memory.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [llm](<https://devfeed.tech/tags/llm.md>), [net](<https://devfeed.tech/tags/net.md>), [net-9](<https://devfeed.tech/tags/net-9.md>), [openai](<https://devfeed.tech/tags/openai.md>)

### AI overview

This tutorial shows how to build a C# .NET 9 ASP.NET Core service that preserves caller context, preferences, and action history across separate inbound calls using Twilio Conversation Memory and an LLM.

### Source excerpt

How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory

## Logging, Metrics, and Distributed Tracing in .NET with OpenTelemetry and ClickStack

DevFeed: [Logging, Metrics, and Distributed Tracing in .NET with OpenTelemetry and ClickStack](<https://devfeed.tech/articles/logging-metrics-and-distributed-tracing-in-net-with-opentelemetry-and-clickstack-5396.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/logging-metrics-distributed-tracing-dotnet-otel-clickstack>)

Author: Alex Soffronow Pagonidis

Published: 2026-06-03T09:21:38Z

Content type: tutorial

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [API](<https://devfeed.tech/topics/api.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [logging](<https://devfeed.tech/tags/logging.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [observability](<https://devfeed.tech/tags/observability.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [traces](<https://devfeed.tech/tags/traces.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

A practical walkthrough of instrumenting two ASP.NET services with OpenTelemetry and sending traces, logs, and metrics to ClickStack. The example uses an Order API and a Payment Service, with SQLite persistence and cross-service trace correlation.

### Source excerpt

A walkthrough of adding OpenTelemetry instrumentation to two ASP.NET services -- an Order API and a Payment Service -- and shipping traces, logs, and metrics to ClickStack, with auto-correlated signals and cross-service trace waterfalls out of the box.

## Building a .NET API Gateway with ClickHouse and Aspire

DevFeed: [Building a .NET API Gateway with ClickHouse and Aspire](<https://devfeed.tech/articles/building-a-net-api-gateway-with-clickhouse-and-aspire-5230.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/dotnet-api-gateway-aspire>)

Author: Alex Soffronow Pagonidis

Published: 2026-06-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [Aspire](<https://devfeed.tech/topics/aspire.md>), [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [.NET](<https://devfeed.tech/topics/net.md>), [API](<https://devfeed.tech/topics/api.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Blazor](<https://devfeed.tech/topics/blazor.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [backend](<https://devfeed.tech/tags/backend.md>), [blazor](<https://devfeed.tech/tags/blazor.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A walkthrough of building a .NET API gateway with YARP and Aspire. The gateway routes traffic to backend APIs, records proxied requests in ClickHouse for aggregate analytics, and emits OpenTelemetry metrics. A Blazor dashboard presents the results while Aspire provides live service telemetry, logs, traces, and metrics.

### Source excerpt

A walkthrough of building a .NET API gateway with YARP and Aspire that logs every proxied request to ClickHouse for aggregate analytics, with a materialized view keeping dashboard queries fast as traffic grows.

## Structured Logging in .NET with Serilog and ClickHouse

DevFeed: [Structured Logging in .NET with Serilog and ClickHouse](<https://devfeed.tech/articles/structured-logging-in-net-with-serilog-and-clickhouse-5563.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/serilog>)

Author: Alex Soffronow Pagonidis

Published: 2026-03-23T00:00:00Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [.NET](<https://devfeed.tech/topics/net.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [data](<https://devfeed.tech/topics/data.md>), [observability](<https://devfeed.tech/topics/observability.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [data](<https://devfeed.tech/tags/data.md>), [docker](<https://devfeed.tech/tags/docker.md>), [github](<https://devfeed.tech/tags/github.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learn](<https://devfeed.tech/tags/learn.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [net](<https://devfeed.tech/tags/net.md>), [observability](<https://devfeed.tech/tags/observability.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

Learn how to send structured .NET logs directly to ClickHouse with Serilog. The article covers configuring the ClickHouse sink, designing a schema in C#, enriching logs with request context, and querying them with SQL for diagnostics.

### Source excerpt

Learn how to send structured .NET logs directly to ClickHouse using Serilog -- with full schema control, full-text search, and SQL queries over your log data.

## Native .NET Buildpack Support is Now Available on App Platform

DevFeed: [Native .NET Buildpack Support is Now Available on App Platform](<https://devfeed.tech/articles/native-net-buildpack-support-is-now-available-on-app-platform-19914.md>)

Original publisher: [Read original article](<https://www.digitalocean.com/blog/net-buildpack-support-app-platform>)

Author: Bikram Gupta

Published: 2026-03-05T21:21:25Z

Content type: release

Language: en

Sources: [DigitalOcean](<https://devfeed.tech/sources/digitalocean.md>)

Topics: [Digital Ocean](<https://devfeed.tech/topics/digital-ocean.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Git](<https://devfeed.tech/topics/git.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [NuGet](<https://devfeed.tech/topics/nuget.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [digitalocean](<https://devfeed.tech/tags/digitalocean.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [dotnet](<https://devfeed.tech/tags/dotnet.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [git](<https://devfeed.tech/tags/git.md>), [net](<https://devfeed.tech/tags/net.md>), [product-updates](<https://devfeed.tech/tags/product-updates.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

DigitalOcean App Platform now supports native .NET buildpacks, allowing developers to deploy .NET applications from Git repositories without maintaining Dockerfiles. The platform detects the project, selects the SDK version, restores dependencies, and builds the application for production.

### Source excerpt

The .NET ecosystem continues to power a significant share of enterprise and cloud-native applications, from web APIs and microservices to full-stack applications built with ASP.NET Core. Developers building with C#, F#, and Visual Basic need a deployment experience that matches the productivity of the framework itself: push code, and let the platform handle the rest. Today, we're excited to announce native .NET buildpack support on DigitalOcean App Platform. You can now deploy your .NET applications directly from a Git repository without writing or maintaining Dockerfiles. App Platform automatically detects your .NET project, installs the correct SDK version, and builds your application for production. Benefits Zero Configuration: Push your .NET code to a Git repository, and App Platform handles runtime detection, SDK installation, and build configuration automatically--no Dockerfile required. Multi-Language Support: Build applications in C#, Visual Basic, or F# using the .NET and ASP.NET Core frameworks, all with the same streamlined deployment experience. Automatic SDK Management: App Platform selects the appropriate .NET SDK version based on your project's TargetFramework or global.json configuration, supporting .NET 8.0, 9.0, and 10.0. Production-Ready Defaults: The buildpack compiles with the Release configuration by default and automatically detects ASP.NET Core web applications to configure the correct process type. How Detection Works Once you connect your Git repository, App Platform identifies your application as a .NET project by looking for specific files in your repository root. App Platform confirms a .NET application if it detects any of the following: Solution files: *.sln, *.slnx Project files: *.csproj, *.vbproj, *.fsproj File-based apps: *.cs Once detected, the buildpack takes over: SDK Detection: Determines the required .NET SDK version from your TargetFramework property or global.json file Dependency Restore: Runs dotnet restore to fetch NuGet pa

## Heroku Support for .NET 10 LTS: What Developers Need to Know

DevFeed: [Heroku Support for .NET 10 LTS: What Developers Need to Know](<https://devfeed.tech/articles/heroku-support-for-net-10-lts-what-developers-need-to-know-26498.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/support-for-dotnet-10-lts-what-developers-need-know/>)

Author: Rune Soerensen

Published: 2025-11-11T08:00:23Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [.NET](<https://devfeed.tech/topics/net.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [migration](<https://devfeed.tech/topics/migration.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developers](<https://devfeed.tech/tags/developers.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [languages](<https://devfeed.tech/tags/languages.md>), [lts](<https://devfeed.tech/tags/lts.md>), [migration](<https://devfeed.tech/tags/migration.md>), [net](<https://devfeed.tech/tags/net.md>), [nextgen](<https://devfeed.tech/tags/nextgen.md>), [product-features](<https://devfeed.tech/tags/product-features.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Heroku now supports building and running .NET 10 applications, including ASP.NET Core 10, with buildpack support for features such as file-based apps and solution files. .NET 10 is the new three-year Long Term Support release, while .NET 8 and .NET 9 are scheduled to reach end of support on November 10, 2026.

### Source excerpt

It's that time of year for .NET when we get a new major version and a bunch of exciting features. .NET Conf 2025 kicked off earlier today, bringing with it the release of .NET 10, as well as ASP.NET Core 10, C# 14, and F# 10. Congrats (and a big thank you) to the .NET [...] The post Heroku Support for .NET 10 LTS: What Developers Need to Know appeared first on Heroku.

## HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool

DevFeed: [HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool](<https://devfeed.tech/articles/html-minifier-a-12-year-journey-building-and-maintaining-an-open-source-tool-37542.md>)

Original publisher: [Read original article](<https://deanhume.com/html-minifier-a-12-year-journey-building-and-maintaining-an-open-source-tool/>)

Author: Dean Hume

Published: 2025-10-30T14:49:50Z

Content type: opinion

Language: en

Sources: [Dean Hume](<https://devfeed.tech/sources/dean-hume.md>)

Topics: [HTML](<https://devfeed.tech/topics/html.md>), [Web](<https://devfeed.tech/topics/web.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [build tools](<https://devfeed.tech/topics/build-tools.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [html](<https://devfeed.tech/tags/html.md>), [journey](<https://devfeed.tech/tags/journey.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [web-performance](<https://devfeed.tech/tags/web-performance.md>)

### AI overview

The author reflects on developing and maintaining an open-source HTML Minifier over 12 years. The tool reduces HTML size by removing unnecessary whitespace, line breaks, and comments, and evolved with framework compatibility, recursive scanning, multi-file support, line-length controls, and performance metrics.

### Source excerpt

Discover the 12-year journey behind HTML Minifier an open source tool that helped developers optimize web performance and reduce page load times.

## Cookie Chaos: How to bypass \_\_Host and \_\_Secure cookie prefixes

DevFeed: [Cookie Chaos: How to bypass \_\_Host and \_\_Secure cookie prefixes](<https://devfeed.tech/articles/cookie-chaos-how-to-bypass-host-and-secure-cookie-prefixes-7672.md>)

Original publisher: [Read original article](<https://portswigger.net/research/cookie-chaos-how-to-bypass-host-and-secure-cookie-prefixes>)

Author: Zakhar Fedotkin

Published: 2025-09-03T14:46:23Z

Content type: article

Language: en

Sources: [PortSwigger Research](<https://devfeed.tech/sources/portswigger-research.md>)

Topics: [browsers](<https://devfeed.tech/topics/browsers.md>), [Security](<https://devfeed.tech/topics/security.md>), [browser](<https://devfeed.tech/topics/browser.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Django](<https://devfeed.tech/topics/django.md>)

Tags: [attacks](<https://devfeed.tech/tags/attacks.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [django](<https://devfeed.tech/tags/django.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article explains how discrepancies between browser and server-side cookie parsing can bypass the security restrictions of the __Host and __Secure cookie prefixes. It describes UTF-8 and Unicode whitespace techniques, including behavior in Django and ASP.NET, and notes differences in Safari's handling of cookie names.

### Source excerpt

Browsers added cookie prefixes to protect your sessions and stop attackers from setting harmful cookies. In this post, you'll see how to bypass cookie defenses using discrepancies in browser and serve

## Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS

DevFeed: [Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS](<https://devfeed.tech/articles/updating-to-net-8-updating-to-ihostbuilder-and-running-playwright-tests-within-nunit-headless-or-headed-on-any-os-21858.md>)

Original publisher: [Read original article](<https://www.hanselman.com/blog/updating-to-net-8-updating-to-ihostbuilder-and-running-playwright-tests-within-nunit-headless-or-headed-on-any-os>)

Author: Scott Hanselman

Published: 2024-03-07T01:12:13Z

Content type: tutorial

Language: en

Sources: [Scott Hanselman](<https://devfeed.tech/sources/scott-hanselman.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [automation-testing](<https://devfeed.tech/tags/automation-testing.md>), [browser](<https://devfeed.tech/tags/browser.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [debug](<https://devfeed.tech/tags/debug.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dotnetcore](<https://devfeed.tech/tags/dotnetcore.md>), [integration](<https://devfeed.tech/tags/integration.md>), [linux](<https://devfeed.tech/tags/linux.md>), [net](<https://devfeed.tech/tags/net.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>), [web](<https://devfeed.tech/tags/web.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial on updating a .NET application to .NET 8 and running Playwright browser tests through NUnit. It explains the transition from IWebHostBuilder to IHostBuilder and describes cross-platform, headless or headed testing across local systems, containers, and CI environments.

### Source excerpt

I've been doing not just Unit Testing for my sites but full on Integration Testing and Browser Automation Testing as early as 2007 with Selenium. Lately, however, I've been using the faster and generally more compatible Playwright. It has one API and can test on Windows, Linux, Mac, locally, in a container (headless), in my CI/CD pipeline, on Azure DevOps, or in GitHub Actions. For me, it's that last moment of truth to make sure that the site runs completely from end to end. I can write those Playwright tests in something like TypeScript, and I could launch them with node, but I like running end unit tests and using that test runner and test harness as my jumping off point for my .NET applications. I'm used to right clicking and "run unit tests" or even better, right click and "debug unit tests" in Visual Studio or VS Code. This gets me the benefit of all of the assertions of a full unit testing framework, and all the benefits of using something like Playwright to automate my browser. In 2018 I was using WebApplicationFactory and some tricky hacks to basically spin up ASP.NET within .NET (at the time) Core 2.1 within the unit tests and then launching Selenium. This was kind of janky and would require to manually start a separate process and manage its life cycle. However, I kept on with this hack for a number of years basically trying to get the Kestrel Web Server to spin up inside of my unit tests. I've recently upgraded my main site and podcast site to .NET 8. Keep in mind that I've been moving my websites forward from early early versions of .NET to the most recent versions. The blog is happily running on Linux in a container on .NET 8, but its original code started in 2002 on .NET 1.1. Now that I'm on .NET 8, I scandalously discovered (as my unit tests stopped working) that the rest of the world had moved from IWebHostBuilder to IHostBuilder five version of .NET ago. Gulp. Say what you will, but the backward compatibility is impressive. As such my code for Progr

## Announcing official Apollo Federation support for .NET with Hot Chocolate and Federation 2!

DevFeed: [Announcing official Apollo Federation support for .NET with Hot Chocolate and Federation 2!](<https://devfeed.tech/articles/announcing-official-apollo-federation-support-for-net-with-hot-chocolate-and-federation-2-23141.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/announcing-official-apollo-federation-support-for-net-with-hot-chocolate-and-federation-2>)

Author: Phil Prasek

Published: 2023-10-24T15:46:07Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [.NET](<https://devfeed.tech/topics/net.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [C#](<https://devfeed.tech/topics/csharp.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [net](<https://devfeed.tech/tags/net.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

Apollo announces an official open-source Apollo Federation support library for Hot Chocolate, a .NET GraphQL framework. The v1.0 library includes full Federation 2 support, including field migrations, entity interfaces, and more flexible type ownership.

### Source excerpt

Apollo Federation is an open specification for exposing API services as a single GraphQL access layer, known as a supergraph. In a supergraph, you connect and curate your services through smaller, modular graphs called subgraphs. There's a vibrant ecosystem of community-led frameworks that let you write subgraphs in every common language, bolstered by official Apollo Federation support libraries for JavaScript and Java.

## The next CEO of Stack Overflow

DevFeed: [The next CEO of Stack Overflow](<https://devfeed.tech/articles/the-next-ceo-of-stack-overflow-37528.md>)

Original publisher: [Read original article](<https://www.joelonsoftware.com/2019/03/28/the-next-ceo-of-stack-overflow/>)

Author: Joel Spolsky

Published: 2019-03-28T14:00:53Z

Content type: news

Language: en

Sources: [Joel Spolsky](<https://devfeed.tech/sources/joel-spolsky.md>)

Topics: [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [.NET](<https://devfeed.tech/topics/net.md>)

Tags: [advertising](<https://devfeed.tech/tags/advertising.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [browser](<https://devfeed.tech/tags/browser.md>), [ceo](<https://devfeed.tech/tags/ceo.md>), [co-founder](<https://devfeed.tech/tags/co-founder.md>), [employees](<https://devfeed.tech/tags/employees.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [net](<https://devfeed.tech/tags/net.md>), [news](<https://devfeed.tech/tags/news.md>), [revenue](<https://devfeed.tech/tags/revenue.md>), [saas](<https://devfeed.tech/tags/saas.md>), [software](<https://devfeed.tech/tags/software.md>), [stack-overflow](<https://devfeed.tech/tags/stack-overflow.md>)

### AI overview

Joel Spolsky announces that Stack Overflow is looking for a new CEO. He is stepping away from day-to-day operations to become chairman of the board, while describing the company's growth, profitability, products, employees, and audience.

### Source excerpt

We're looking for a new CEO for Stack Overflow. I'm stepping out of the day-to-day and up to the role of Chairman of the Board. Read more "The next CEO of Stack Overflow"

## Памятка начинающего программиста

DevFeed: [Памятка начинающего программиста](<https://devfeed.tech/articles/article-30403.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/rookie-programmer>)

Published: 2016-11-09T09:12:28Z

Content type: opinion

Language: ru

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai-ml](<https://devfeed.tech/tags/ai-ml.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [ddd](<https://devfeed.tech/tags/ddd.md>)

### AI overview

A Russian-language advice article for programmers with a few years of experience. It recommends seeking responsibility early, following industry trends, learning English, blogging, studying broader software concepts, building personal projects, and avoiding prolonged outsourcing work.

### Source excerpt

Я часто получаю резюме от программистов. Возьму на себя смелость дать несколько конкретных советов тем, кто в профессии пару лет. Конечно, советы только для тех, кто хочет стать отличным программистом. 1. Первую работу найти непросто. Раньше было очень непросто, сейчас, конечно, все гораздо легче. Но если у вас получится, постарайтесь не попасть сразу в огромную корпорацию. В таких местах слишком много формализма, устаревших процессов и мест, где можно не напрягаться. И нет ничего хуже для новичка быть в расслабленной атмосфере на задворках аутсорса. Лучше выбрать стартап с маленькой зарплатой и большой неопределенностью, пока вы можете себе это позволить. Там у вас будет больше ответственности и развитие будет идти гораздо быстрее. Год за два :) 2. Всеми правдами и неправдами избегайте старых технологий. ASP.NET, O/R mappers, ExtJS, MSSQL, Oracle, Windows -- оставьте вот это все ветеранам. Вам может быть пока сложно понять, куда все двигается, но постарайтесь интересоваться трендами отрасли. Не все новое одинаково полезно, но со временем вы научитесь выбирать и лучше поймете, чего вы хотите и что вам интересно. 3. Учите английский. Вы как минимум должны научиться свободно читать техническую литературу. Без этого крайне сложно стать хорошим программистом. 4. Заведите блог. Вам кажется, что вам не о чем писать. Конечно же, это не так. Любое новое знание, усвоенное вами и выраженное письменно с учетом ваших личных переживаний и мыслей, может быть полезно другим. Напишите 100 постов. Потом можно решить, продолжать или нет. 5. Не зацикливайтесь на книгах о технологиях. Конечно, у вас есть явная потребность углубиться в ASP.NET на работе, но разбавляйте такие книги более абстрактной литературой. Почитайте про ООП и ФП, почитайте про дизайн систем, почитайте о разных концепциях (микросервисы, конкурентность, DDD, AI/ML). 6. Программируйте дома. Начните свой проект. Неважно какой. Простое мобильное приложение. Движок для сайта. Трекер расходов. Выбор следующего фильма для п

## Stack Overflow: The Architecture - 2016 Edition

DevFeed: [Stack Overflow: The Architecture - 2016 Edition](<https://devfeed.tech/articles/stack-overflow-the-architecture-2016-edition-21590.md>)

Original publisher: [Read original article](<https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/>)

Published: 2016-02-17T00:00:00Z

Content type: article

Language: en

Sources: [Nick Craver](<https://devfeed.tech/sources/nick-craver.md>)

Topics: [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [servers](<https://devfeed.tech/topics/servers.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [blog](<https://devfeed.tech/tags/blog.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [http](<https://devfeed.tech/tags/http.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [performance](<https://devfeed.tech/tags/performance.md>), [redis](<https://devfeed.tech/tags/redis.md>), [servers](<https://devfeed.tech/tags/servers.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This article describes Stack Overflow's 2016 architecture using daily traffic and performance statistics from February 9, 2016, compared with November 2013. It covers HTTP requests, page loads, SQL queries, Redis hits, Elasticsearch searches, Tag Engine requests, and processing times. The author attributes reduced ASP.NET processing time to a 2015 hardware upgrade and application performance tuning, then lists the main server and load-balancer hardware.

### Source excerpt

This is #1 in a very long series of posts on Stack Overflow's architecture. Welcome. Previous post (#0): Stack Overflow: A Technical Deconstruction Next post (#2): Stack Overflow: The Hardware - 2016 Edition To get an idea of what all of this stuff "does," let me start off with an update on the average day at Stack Overflow. So you can compare to the previous numbers from November 2013, here's a day of statistics from February 9th, 2016 with differences since November 12th, 2013: 209,420,973 (+61,336,090) HTTP requests to our load balancer 66,294,789 (+30,199,477) of those were page loads 1,240,266,346,053 (+406,273,363,426) bytes (1.24 TB) of HTTP traffic sent 569,449,470,023 (+282,874,825,991) bytes (569 GB) total received 3,084,303,599,266 (+1,958,311,041,954) bytes (3.08 TB) total sent 504,816,843 (+170,244,740) SQL Queries (from HTTP requests alone) 5,831,683,114 (+5,418,818,063) Redis hits 17,158,874 (not tracked in 2013) Elastic searches 3,661,134 (+57,716) Tag Engine requests 607,073,066 (+48,848,481) ms (168 hours) spent running SQL queries 10,396,073 (-88,950,843) ms (2.8 hours) spent on Redis hits 147,018,571 (+14,634,512) ms (40.8 hours) spent on Tag Engine requests 1,609,944,301 (-1,118,232,744) ms (447 hours) spent processing in ASP.Net 22.71 (-5.29) ms average (19.12 ms in ASP.Net) for 49,180,275 question page renders 11.80 (-53.2) ms average (8.81 ms in ASP.Net) for 6,370,076 home page renders You may be wondering about the drastic ASP.Net reduction in processing time compared to 2013 (which was 757 hours) despite 61 million more requests a day. That's due to both a hardware upgrade in early 2015 as well as a lot of performance tuning inside the applications themselves. Please don't forget: performance is still a feature. If you're curious about more hardware specifics than I'm about to provide--fear not. The next post will be an appendix with detailed hardware specs for all of the servers that run the sites (I'll update this with a link when it's liv

## Publishing a ASP.NET 5 Web-Application to IIS Locally

DevFeed: [Publishing a ASP.NET 5 Web-Application to IIS Locally](<https://devfeed.tech/articles/publishing-a-asp-net-5-web-application-to-iis-locally-20709.md>)

Original publisher: [Read original article](<https://docs.microsoft.com/archive/blogs/abhinaba/publishing-a-asp-net-5-web-application-to-iis-locally>)

Author: Abhinaba Basu \[MSFT\]

Published: 2015-12-22T18:10:48Z

Content type: tutorial

Language: en

Sources: [Abhinaba Basu](<https://devfeed.tech/sources/abhinaba-basu.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Visual Studio](<https://devfeed.tech/topics/visual-studio.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Firewall](<https://devfeed.tech/topics/firewall.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [firewall](<https://devfeed.tech/tags/firewall.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [web](<https://devfeed.tech/tags/web.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A practical guide to publishing an ASP.NET 5 web application to IIS locally using Visual Studio and file system publishing, then configuring IIS to serve the application. It also explains enabling Windows Firewall access and finding the local IP address so other devices on the same network can connect.

### Source excerpt

I ran into few issues and discovered some kinks in publishing the new ASP.NET 5 Web-Application to...

## How we build Targetprocess

DevFeed: [How we build Targetprocess](<https://devfeed.tech/articles/how-we-build-targetprocess-38422.md>)

Original publisher: [Read original article](<https://khmylov.com/2015/06/how-we-build-targetprocess/>)

Author: Andrew Khmylov

Published: 2015-06-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Despite the odds](<https://devfeed.tech/sources/despite-the-odds.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [client](<https://devfeed.tech/tags/client.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [routing](<https://devfeed.tech/tags/routing.md>)

### AI overview

A developer explains how Targetprocess is built as a large single-page web application, focusing on its JavaScript frontend, C# server APIs, and ASP.NET application startup. The article introduces authentication, authorization, routing, and ASPX-generated configuration.

### Source excerpt

Preface For the last 2 years my professional career have been diverging further and further away from the path it was set on early. I've started as a desktop application developer a long time ago, occasionally building web APIs on the server-side and doing some mobile app development, and then slowly getting into the frontend web development. Nowadays, working at Targetprocess, I think I'm spending roughly 70% of the time on the frontend (mostly general presentation logic and client-side business rules, not the crazy HTML markup/positioning/styling stuff) and 30% on server-side APIs. This is not a marketing post, but I'd like to give you some context on the things I'll be talking about. Targetprocess is an agile and visual project management tool [1], so you may expect it to be a fairly sophisticated on the visual interface side. Indeed, it's a massive single page web application written mostly in JavaScript on the client-side and C# on the server. At the same time, I see that some fellow developers still don't believe that it's possible to build anything beyond a simple product promotion website or a landing page with a toy language with JavaScript, which is only good for document animation. That's a common misconception I hear quite often from the friends doing mostly server-side and mobile things, and I'd like them (and any other reader) to see how the things look from my point of view. I also think that the details on how we build a large product may be interesting for anyone in the web development business. [2] With no further delay, let's dive right into the technical details! Application startup The entry point to the client app is a usual ASP.NET web application, which handles authentication, authorization and a top-level routing. Those things should be of no surprise for anyone familiar with building web applications with ASP.NET or any similar technology, so I won't go into details here. The authorized user is redirected to the main ASPX file. If you're no

## 'object' does not contain a definition for 'errors'

DevFeed: ['object' does not contain a definition for 'errors'](<https://devfeed.tech/articles/object-does-not-contain-a-definition-for-errors-21204.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2013/08/object-does-not-contain-definition/>)

Published: 2013-08-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Exception](<https://devfeed.tech/topics/exception.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Visual Studio](<https://devfeed.tech/topics/visual-studio.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [errors](<https://devfeed.tech/tags/errors.md>), [exception](<https://devfeed.tech/tags/exception.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>)

### AI overview

A unit test for an ASP.NET Web API exception filter fails when it tries to inspect the anonymous object returned for validation errors. The article explains that the anonymous type is not visible outside the tested Api assembly and shows that adding InternalsVisibleTo to Api.csproj makes the test pass.

### Source excerpt

Lorem ipsum dolor sit amet

## ASP.net MVC Action Methods: Testing Against Anonymous Return Types

DevFeed: [ASP.net MVC Action Methods: Testing Against Anonymous Return Types](<https://devfeed.tech/articles/asp-net-mvc-action-methods-testing-against-anonymous-return-types-21181.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2013/01/aspnet-mvc-action-methods-testing-against-anonymous-return-types/>)

Published: 2013-01-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>)

Tags: [assembly](<https://devfeed.tech/tags/assembly.md>), [controllers](<https://devfeed.tech/tags/controllers.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [testing](<https://devfeed.tech/tags/testing.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

A tutorial on testing ASP.NET MVC action methods, including how to inspect values returned through ActionResult and how to test anonymous return types with dynamic access. It also explains granting the test assembly access to internal anonymous types.

### Source excerpt

Lorem ipsum dolor sit amet

## Retrospective 2012

DevFeed: [Retrospective 2012](<https://devfeed.tech/articles/retrospective-2012-21180.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2012/12/retrospective-2012/>)

Published: 2012-12-30T00:00:00Z

Content type: opinion

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Jekyll](<https://devfeed.tech/topics/jekyll.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Bootstrap](<https://devfeed.tech/topics/bootstrap.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [css](<https://devfeed.tech/tags/css.md>), [github](<https://devfeed.tech/tags/github.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jekyll](<https://devfeed.tech/tags/jekyll.md>), [json](<https://devfeed.tech/tags/json.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [rest](<https://devfeed.tech/tags/rest.md>), [retrospective](<https://devfeed.tech/tags/retrospective.md>)

### AI overview

A personal retrospective of 2012 covering a move from Blogger to a Jekyll static site hosted on GitHub, a site redesign using Bootstrap, and increased JavaScript work. The author also describes replacing ASP.NET WebForms front ends with JavaScriptMVC applications and ASP.NET MVC JSON REST endpoints.

### Source excerpt

Lorem ipsum dolor sit amet

## Programming ASP.net MVC4 by J. Chadwick, T. Snyder and H. Panda

DevFeed: [Programming ASP.net MVC4 by J. Chadwick, T. Snyder and H. Panda](<https://devfeed.tech/articles/programming-asp-net-mvc4-by-j-chadwick-t-snyder-and-h-panda-21179.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2012/12/programming-aspnet-mvc4/>)

Published: 2012-12-13T00:00:00Z

Content type: opinion

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [jQuery](<https://devfeed.tech/topics/jquery.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [caching](<https://devfeed.tech/tags/caching.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [routing](<https://devfeed.tech/tags/routing.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A review of the book Programming ASP.net MVC4 describes its coverage of ASP.NET MVC development, from MVC fundamentals, routing, authentication, and application architecture to deployment, client-side JavaScript, mobile web development, and production practices. The review presents the book as suitable for both beginners and experienced developers.

### Source excerpt

Lorem ipsum dolor sit amet

## Output Caching in ASP.net MVC

DevFeed: [Output Caching in ASP.net MVC](<https://devfeed.tech/articles/output-caching-in-asp-net-mvc-21170.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2012/10/output-caching-in-aspnet-mvc/>)

Published: 2012-10-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [jQuery](<https://devfeed.tech/topics/jquery.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [browser](<https://devfeed.tech/tags/browser.md>), [caching](<https://devfeed.tech/tags/caching.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mvc](<https://devfeed.tech/tags/mvc.md>)

### AI overview

This tutorial explains output caching in ASP.NET MVC, including default response behavior, cache-control headers, ways to disable server and client caching, and the use of the OutputCache mechanism. It also discusses caching effects on AJAX requests.

### Source excerpt

Lorem ipsum dolor sit amet

## Lessons Learned: Don't Expose EF Entities to the Client Directly

DevFeed: [Lessons Learned: Don't Expose EF Entities to the Client Directly](<https://devfeed.tech/articles/lessons-learned-don-t-expose-ef-entities-to-the-client-directly-21169.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2012/10/lessions-learned-dont-expose-ef-entities-to-the-client-directly/>)

Published: 2012-10-23T00:00:00Z

Content type: opinion

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [backend](<https://devfeed.tech/tags/backend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [json](<https://devfeed.tech/tags/json.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [rest](<https://devfeed.tech/tags/rest.md>)

### AI overview

The article examines the risks of directly exposing Entity Framework entities through an ASP.NET MVC REST backend to a rich-client JavaScript application. It highlights oversized JSON responses caused by entity relationships and warns that exposing entities couples the client to backend implementation details.

### Source excerpt

Lorem ipsum dolor sit amet

## Strange Error When Downloading File in IE8 from SSL Site

DevFeed: [Strange Error When Downloading File in IE8 from SSL Site](<https://devfeed.tech/articles/strange-error-when-downloading-file-in-ie8-from-ssl-site-21162.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2012/07/strange-error-when-downloading-file-in/>)

Published: 2012-07-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Internet Explorer](<https://devfeed.tech/topics/internet-explorer.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [browser](<https://devfeed.tech/tags/browser.md>), [caching](<https://devfeed.tech/tags/caching.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [internet-explorer](<https://devfeed.tech/tags/internet-explorer.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [ssl](<https://devfeed.tech/tags/ssl.md>)

### AI overview

A troubleshooting article explains that IE8 fails to download files generated by an ASP.NET MVC backend from an SSL-protected site when cache-control headers prevent caching. It proposes overriding the default output-cache behavior for file downloads in IE versions below 9.

### Source excerpt

Lorem ipsum dolor sit amet

## Why I hate generated code

DevFeed: [Why I hate generated code](<https://devfeed.tech/articles/why-i-hate-generated-code-33384.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2011/12/26/why-i-hate-generated-code>)

Published: 2011-12-26T00:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [Code generation](<https://devfeed.tech/topics/code-generation.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [rails](<https://devfeed.tech/tags/rails.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

The author argues that generated source code can create maintenance problems when it produces large amounts of unused or dead code. The article distinguishes this from compiler output and just-in-time code generation, which the author considers useful because it is generated only when needed.

### Source excerpt

If you've worked with me for any amount of time you'll soon figure out that I often profess that "I hate generated code". This position comes from years of experience with badly generated code. Let me explain.The baby comes with a lot of bathwaterIn the past year I had an experience with a generated data layer where CodeSmith was used to generate a table, 5 stored procedures, an entity class, a data source class, and a factory class for each entity that was generated. My task was to convert this code into NHibernate mappings.The interesting thing about this work is how little of the generated code was actually being used. I'm sure, in the beginning, the developer's thoughts were along the lines "oh look at all this code I don't have to write manually :D". However, after some time, subsequent developer's thoughts were along the lines of "with all this dead code, it's hard to find real problems". It's funny how some exciting breakthroughs turn into headaches down the road. The table is always used, but some entities are created & read but never modified, others are only created during migrations and only read from during run time.Code generators often produce code you don't need. Since all code requires maintenance, dead code is just a liability because it doesn't provide any benefit. I always delete dead code and commented out code (it'll live on in version control, no need to release it into production).There are several professional developer communities that generate code as a way of life. Ruby on Rails comes prepackaged with scripts to generate models, views, and controllers in a single command. ASP.NET MVC will generate controllers and views with a couple clicks. And if you've ever used either of these frameworks, you'll probably find yourself deleting a lot of generated code.The problem of transient code generationThe issue that I keep running into with my policy of hating code generation is that it's nearly impossible to be a professional software engineer and

[Next page](<https://devfeed.tech/topics/aspnet.md?cursor=WyIyMDExLTEyLTI2VDAwOjAwOjAwKzAwOjAwIiwgIjRiYjUxY2IyLTBlNDktNDI1Ni05ODFiLTVhY2UzYTdiYTdlYSJd>)