我不熟悉WPF,但我已经看到了我喜欢的用于Web开发的东西。 我想知道在asp.net(webforms / MVC)上开发WPFbrowser应用程序有哪些优势,反之亦然。有什么你可以在asp.net中做的或在WPFbroser应用程序中无法做到的事情吗?
答案 0 :(得分:3)
我想说的主要区别在于ASP.net没有可供客户端下载的插件。这可以被认为是一个好处,特别是在与限制其用户的大公司打交道时。意味着用户可以放弃麻烦的工作,让他们的IT部门添加一个插件,如Silverlight。
WPF的优势在于它确实为客户端提供了强大的插件。使用Silverlight应用程序可以比ASP.net更多。
答案 1 :(得分:2)
差异很重要。
ASP.NET是纯Web,具有Web服务器,您必须在其中托管您的代码,以及浏览器客户端,您的服务器生成的html代码将在其中工作。
如果是WPF,它是一个独立的二进制文件,将从服务器下载,它将在某些浏览器上使用插件,它将运行该应用程序。
ASP.NET将执行Web应用程序可以执行的任何操作以及不同的浏览器/操作系统。
WPF几乎可以对桌面执行任何操作(预计会有一些限制:如果用户接受,您可以设置为激活的打印),并且只能在安装了相应.Net框架的Windows中使用它
答案 2 :(得分:1)
如果您正在进行Web开发,那么您几乎肯定会使用Silverlight而不是WPF。
WPF浏览器应用程序(XBAP)只是在IE shell中托管的ClickOnce WPF应用程序,并使用前向和后向导航。它们很少使用,在这一点上填补了标准WPF应用程序和Silverlight之间的这么小的差距,你可能永远不会遇到它。
Silverlight 不是 WPF,虽然它们使用相同的通用开发方法,并且编写Silverlight以使用在许多情况下镜像WPF的API,以便代码通常可以在它们之间来回移动
WPF是标准.NET Framework(3+)的一部分,是一种仅限Windows的客户端技术,可替代WinForms和一些本机Win32应用程序(即Visual Studio 2010的一部分)。 Silverlight是一个RIA(富Internet应用程序)运行时,它托管在类似于Flash的跨平台浏览器插件中。它使用自己版本的.NET Framework共享API,但不使用完整版本的实际库。
除了其他答案中提到的注意事项之外,由于Silverlight在浏览器中运行,您实际上可以将其用作ASP.NET页面的一部分并混合使用这两种技术。