ASP.Net是否跨平台?

5

最近关于Silverlight和SilverLight相对ASP.NET的优势进行了讨论,有人指出ASP.NET不具备平台独立性,但是Silverlight具备。这究竟意味着什么?ASP.NET是/不是平台独立的?


1
作为服务器端或客户端技术? - mellamokb
1
Silverlight可以在Windows和OSX上运行,而Moonlight则可以通过Mono在Linux上运行。Mono还可以在Linux/OSX上运行asp.net。 - Darren Kopp
2个回答

2
ASP.NET本身不是平台无关的 - 它运行在IIS上,而IIS是一个运行在Windows上的Web服务器。 ASP.NET的输出是平台无关的,因为它是原始的HTML / JavaScript等。
Silverlight可以被认为是平台无关的,因为它可以由几乎任何类型的Web服务器提供服务,因为它不在服务器上执行 - 它只是另一种传递到浏览器并在浏览器中执行的文件。但它并非普遍平台无关,因为有些平台上的Silverlight组件将无法运行(如iPad),而ASP.NET的输出应该可以在这些设备上正常运行。
编辑:从技术上讲(如Tom Tom所指出的),您可以使用Mono框架在Linux上运行ASP.NET,如果您愿意使用.Net框架的v2.0的等效版本(源here)。 Mono本身相当于框架的v4.0,但是ASP.NET滞后很多,这意味着它不是一个真正可行的选择,除非您真的决心免费做事情(在这种情况下,为什么要使用ASP.NET 2?改用PHP或类似语言)。

有趣。你知道ASP.NET可以在IIS之外运行吗?如果你想了解更多,请查阅如何自己托管ASP.NET堆栈。 - TomTom
@TomTom,我已经添加了一个编辑。虽然ASP.NET可以在Apache和Mono下运行,但存在一些限制,这使人们质疑它是否实用和相关。 - slugster

1

这是我在搜索时从一个网站上得到的信息

ASP.NET本身并不是一种语言,而是一种使用.NET编程语言构建动态网站和Web应用程序的Web技术。我的问题是:.NET是否独立于平台?

我的答案是“目前还不是”。.NET正在慢慢赶上,但在成为跨平台之前还有很长的路要走。该框架目前仅适用于WINDOWS,而不适用于其他操作系统。我会说它是语言无关的。也就是说,任何针对CLR的语言都可以用来编写应用程序代码。

一个名为MONO的新项目正在进行中,它将允许在LINUX上安装.NET框架,但目前微软尚未正式支持此项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接