Java 배경 지식이있는 개발자의 경우 ASP.NET 도구 / 플랫폼을 사용하여 소프트웨어 개발을 탐색하는 데 관심이 있습니다.
Java 웹 애플리케이션 (.jsp 및 서블릿)은 여러 서버 플랫폼에서 실행할 수 있습니다.
질문 : .NET 웹 애플리케이션이 Linux 기반 서버에서 실행될 수 있습니까? 웹앱 호스팅에 Windows 서버를 사용할 수없는 시나리오를 고려합니다.
답변
사용중인 특정 .NET 기술에 따라 다릅니다. 모노 프로젝트 ASP.NET 사이트를 실행하기위한 아파치 모듈 (mod_mono)를 제공하고, 내가 수집 무엇에서 잘 작동합니다.
Mono는 모든 .NET API를 지원하지는 않습니다. 특히 WPF (그리고 아마도 WCF도 기억할 수 없습니다.)는 프레임 워크의 다른 많은 부분을 잘 지원합니다.
처음부터 시작하고 특히 Windows가 아닌 서버를 대상으로하려는 경우 프로젝트가 Mono에서 작동하는지 확인하는 것이 목표로하는 좋은 목표가 될 것입니다. 그러나 Mono에서 지원하지 않는 특정 API 또는 언어 기능이 필요한 경우 배포를 위해 Windows 서버를 사용해야합니다. 디자인 타임 / 아키텍처 선택은 우선해야합니다.
답변
그래서 나는 이것이 오래된 질문이라는 것을 알고 있지만 업데이트 된 답변을 견딜 수 있다고 생각합니다.
마이크로 소프트는 공식적으로 asp.net vnext 와 오픈 소스를 출시 했으며 Linux와 Mac 모두에 배포 할 수 있습니다. 그것의 전부는 여전히 꽤 새롭지 만 모노의 최신 빌드에 의존하므로 현재는 컴파일이 필요 mono-framework
하지만 시간이 지나면 다양한 리눅스 배포판이 모노의 업데이트 버전을 출시함에 따라 액세스하기가 더 쉬울 것이라고 생각합니다. 설정 방법 안내입니다.
이 정보는 다소 변동이있을 수 있으며 업데이트시 변경 될 수 있습니다.
ASP.NET CORE 업데이트 11/10/2017
- asp.net vnext는 이제 asp.net core 로 알려져 있습니다 .
- asp.net 코어 는 부분적으로 마이크로 서비스 아키텍처 와 도커 및 컨테이너 기술 과 함께 사용되기 때문에 Microsoft에서 높은 우선 순위로 취급되고 있습니다.
- .net 표준 2.0 으로 인해 기존 .net 라이브러리와 훨씬 더 호환됩니다. .
- 그것은 잘 수행 등의 이동 및 Node.js를 같은 다른 기술 스택에 비해
답변
답변
나는 경험으로 말할 수있다. ASP.net 웹 사이트가 Mono에서 지원하는 .NET 라이브러리 만 사용하더라도 Hello World를 넘어선 경우 실행하는 데 어려움을 겪을 것입니다.
많은 코드를 다시 작성할 필요는 없지만 mod_mono / xsp / apache 구성, 파일 권한 및 오류 처리 및 대규모 웹 사이트에 들어가는 모든 사소한 문제를 처리하는 데 몇 시간 / 일 / 주를 소비하게됩니다. (serverfault에 대해 질문하는 데 많은 시간을 할애 할 준비를하십시오. :))
문제는 많은 사람들이 ASP.net 웹 사이트에 Mono를 사용하지 않기 때문에 버그를보고하는 사람이 많지 않아 사소한 버그 인 많은 것들이 오랫동안 수정되지 않은 상태가된다는 것입니다.
답변
이제 Visual Studio를 사용하여 Linux의 Docker에 ASP.NET 5 앱을 게시 할 수 있습니다. Scott Haselman의 아래 게시물을 참조하십시오.
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
답변
기술이 발전하고이 질문이 Google에서 최상위 순위에 있기 때문에 Linux 및 Windows에서 프로덕션 및 Linux 용 개발을 위해 실행하기 위해 asp.net을 완전히 재 작성한 새로운 asp.net 코어를 모노를 넘어 포함해야합니다. , Windows 및 Mac :
Windows, Mac 및 Linux에서 플랫폼 간 ASP.NET Core 앱을 개발하고 실행할 수 있습니다. ASP.NET Core는 GitHub의 오픈 소스입니다.