我是一名初级开发人员,正在完成我在大学的最后一年。我主要是面向 asp.net 的,甚至有一份用这种语言编码的兼职工作。我对转换到 linux 很感兴趣,并且由于不支持 Visual Studio,所以我在 Mono 中编写我的代码。
我应该注意 Mono 中的任何显着限制(关于 ASP.NET)?
根据 Mono 网站:
Mono 的 ASP.Net 没有实现以下功能:
- 预编译网站
- Web 部件 API。
此外,除非另有说明,否则大多数(如果不是全部)第 3 方 ASP.Net 控件与 Mono 不兼容。例如,ComponentArt 控件在 Mono 中不可用。然而,没有理由认为这不会随着 Mono 的普及而改变。ComponentArts 已经提到他们正在考虑在未来增加支持。
我会说你失去的最大的东西是 IIS。ASP.net 和 IIS 的联系非常紧密。ASP.net 的许多优点都来自 IIS 中托管功能的利用。我能说出的最大的一个是如果页面在缓存中,HTTP.sys 在内核模式下直接响应请求的能力。这意味着打开的套接字会立即响应,并且可以允许对您的网络服务器进行更多数量级的访问。
它有点极端,但Mono不支持Microsoft 的Web 服务增强功能。我试图让一些 WSE 服务在 Mono 上运行时遇到了这个问题。
关于 Web 服务,有两个非常好的开源替代方案:ServiceStack.Net(使用它)和NANCY。
恕我直言,这些领域比构建在 WCF 之上的服务更容易实现、使用和维护。