我想用 C# 开发服务器应用程序。
目前,我正在和朋友用 Java 开发服务器应用程序,但我真的不喜欢它。我更喜欢 C#。
我的问题是 Java 的优势在于它可以在几乎任何系统上运行,包括 Linux。
对于我当前的项目,我租用了一个 Linux 虚拟服务器,我想切换回 C#。
我知道那里有 Mono 项目,但有时我在使用它时会遇到不兼容问题,我无法修复或只能使用一些变通方法。
我想知道是否有可能获得一台 Windows 机器(虚拟服务器)而无需支付数百美元?业余开发人员是否有其他解决方案来获得 Windows 服务器?
答案1
不幸的是,您没有提供任何有关所需 Windows Server 版本以及项目性质的信息。
请注意,我的以下建议是基于您关于“业余开发者”的评论。
如果 Windows Home Server 足够,你仍然可以购买许可证远低于 100 美元(查看当地价格)。但是,在选择这条路线之前,请检查 WHS 与其成熟的 Windows Server 兄弟之间的差异,以及这些差异是否会引起您的担忧(在 Google 上搜索“Windows Home Server 与 Windows Server 2008”之类的内容)。
您可以将其安装在单独的盒子上,但是如果 PC 具有不错的 CPU、硬件虚拟化功能和足够的 RAM,您也可以在 VM 中安装和运行它(例如 VMWare 播放器,我更喜欢它而不是 Virtual Box,因为我很久以前尝试过它,但在 USB 直通方面遇到了很多问题 - 不过,从那时起这个问题可能已经解决了)。
拥有带有目标操作系统的虚拟机可让您快速轻松地进行调试部署,并且允许您拥有多个具有不同系统和操作系统配置的虚拟机进行测试(可用的 HDD/SDD 空间是极限......)。
如果您需要在服务器受到许多并发查询的冲击时对负载和性能进行广泛的测试,那么 VM 就无法胜任。VM 以及主机 PC 的 NIC 都将成为瓶颈,而且 CPU 也会因主机操作系统而部分繁忙。对于这种广泛的负载测试,建议使用真正的专用测试硬件。
答案2
有一些托管解决方案可以为简单的网站提供 Windows 托管:
它们不提供完整的 Windows 环境,但允许您免费托管一个简单的 ASP.NET 网站。
要比较几种不同的 ASP.NET 托管选项,请查看 Microsoft 的比较工具。
答案3
15 美元/月似乎是 Windows 环境虚拟主机市场的底价;而且,因为这是一项业余爱好,所以您不必过多关注 SLA 及其背后的人员。