hostprofi.ru
Подобрать хостинг
Термин·буква C

C#

краткое определение

C# (C Sharp) — статически типизированный объектно-ориентированный язык программирования от Microsoft для платформы .NET. Применяется для разработки веб-приложений (ASP.NET Core), десктопных программ (WPF, WinForms), игр (Unity) и корпоративных систем.

C# (произносится «си шарп») — язык программирования, разработанный Microsoft как часть платформы .NET. Синтаксически близок к Java и C++, имеет строгую статическую типизацию, сборщик мусора и обширную стандартную библиотеку. Основная платформа — .NET (в прошлом .NET Framework для Windows, с 2016 года — кросплатформенный .NET Core, с .NET 5 — единый .NET).

Применение в веб и хостинге

ASP.NET Core — кросплатформенный веб-фреймворк на C# для разработки REST API и веб-приложений. Запускается на Linux, Windows и macOS. Минимальный API-проект выглядит так:

var app = WebApplication.Create();
app.MapGet("/", () => "Hello, World!");
app.Run();

Производительность ASP.NET Core в бенчмарках TechEmpower превосходит Express.js (Node.js) и Django в 5–10 раз. Kestrel — встроенный HTTP-сервер .NET, работающий за Nginx или IIS в production.

История

C# разработан Андерсом Хейлсбергом в Microsoft. C# 1.0 вышел с .NET Framework 1.0 в 2002 году. C# 3.0 (2007) — LINQ. C# 5.0 (2012) — async/await. C# 9.0 (2020) — record types. C# 12 (2023) — primary constructors, collection expressions. .NET Core 1.0 вышел в 2016 году как кросплатформенная версия. .NET 5 в 2020 году объединил .NET Core и .NET Framework.

Связь с хостингом

ASP.NET Core-приложения развёртываются на VPS под Linux или Windows. Типичная конфигурация: Nginx reverse proxy перед Kestrel через Unix-сокет. Systemd запускает .NET-приложение как сервис. Docker-контейнеры с .NET-приложениями — стандарт для CI/CD. На Windows-хостинге с IIS приложения публикуются через Web Deploy или FTP.

C# в серверной разработке

.NET Core (2016) / .NET 5+ (2020) — кросс-платформенный фреймворк: Windows, Linux, macOS. ASP.NET Core — высокопроизводительный веб-фреймворк: до 7 млн RPS на одном сервере (Kestrel, TechEmpower Benchmark). На Linux — Nginx как reverse proxy перед Kestrel.

Деплой .NET на Linux

Self-contained deployment: приложение со всеми зависимостями, не требует установки .NET Runtime. Framework-dependent: меньше размер, требует runtime на сервере. Systemd unit для автозапуска. Docker: официальный образ mcr.microsoft.com/dotnet/aspnet.

.NET vs PHP/Python в хостинге

.NET Core значительно быстрее PHP и Python в CPU-intensive задачах. Для корпоративных систем и Microsoft-инфраструктур — естественный выбор. Managed .NET хостинг в России — Timeweb, Beget, специализированные Windows VPS. Licensing стоимость снижена с переходом на .NET Core.

C# для DevOps

Pulumi — Infrastructure as Code на C# (аналог Terraform): var server = new DigitalOcean.Droplet("web", new() { Size = "s-1vcpu-1gb", Image = "ubuntu-22-04-x64" }). PowerShell (на основе .NET) для Windows-автоматизации. .NET SDK CLI: кросс-платформенный инструмент для сборки и деплоя.

C# Dependency Injection

ASP.NET Core встроенный DI: Singleton, Scoped, Transient. builder.Services.AddScoped(). Для unit testing: Mock-объекты через Moq или NSubstitute. SOLID принципы на C# — DI снижает связность кода. In production: минимизировать Singleton с изменяемым состоянием (thread safety).

Экосистема .NET в 2024

.NET MAUI — cross-platform мобильные приложения. Blazor — WebAssembly и SSR на C# без JavaScript. Orleans — распределённые системы. SignalR — WebSocket. Entity Framework Core — ORM. NuGet — пакетный менеджер (300 000+ пакетов). Ecosystem .NET совместим со всеми Linux-дистрибутивами.

Другие термины