【问题标题】:ASP.NET with Window Form Application带有窗口窗体应用程序的 ASP.NET
【发布时间】:2011-09-17 12:09:29
【问题描述】:

我是 Dot NET 环境的初学者,到目前为止,我对 Dot NET 的阅读和所做的工作并不满意。

我需要迁移或编写一个将 ASP.NET 与窗口窗体应用程序结合使用的程序。无论出于何种原因,我都无法将此程序创建为单个项目。我是否想了解 Dot NET 是什么,或者 Dot NET 的设计目的是什么?

我有基于 Visual Studio 2010 的 Delphi Prism(DP)。在 DP 下,我只能为 ASP.NET 和/或 Windows 窗体应用程序创建单独的项目。我似乎无法在一个项目下同时使用这两个世界。甚至有可能做到这一点吗?

我的 Delphi Prism Dot NET 程序应该是部分基于窗口和部分基于 Web 的。作为一个基于窗口的程序,它应该在串口和网络上发送和接收数据。作为基于 Web 的,它应该让用户访问 Internet 或 LAN 或 Intranet 上的基于窗口(服务器端)的程序。

我运行了他们所有的演示并在线搜索了帮助。尽管如此,我还是很难做到。

我越来越沮丧。我认为,在 Dot NET 中编程会轻而易举,但结果却是个问题。我现在应该知道 Dot NET 是 Microsoft。

如果有人能给我提示或更多信息以帮助我更好地理解 Dot NET,我将不胜感激。谢谢。

【问题讨论】:

    标签: .net asp.net winforms delphi-prism-2010


    【解决方案1】:

    它们是针对不同问题域的独立项目。您不会也不能将 ASP.NET 项目和 Windows 窗体项目混合在一起。

    选择一个项目类型并构建一些简单的东西。跨过那座桥之后,将该概念移至另一种项目类型(WPF、Silverlight、ASP.NET MVC 等)并注意差异。

    底层语言将跨项目,如 C#、VB 等......但项目类型/框架不会。

    【讨论】:

    • @Aaron,那么 ASP.NET 的真正用途或真正目的是什么 - 构建数据库驱动的网站或至少构建一个与服务器通信的基本网页?
    • @digitalanalog ASP.NET 是一个 Web 应用程序框架。是的,它可以用来建立一个数据库驱动的网站或至少一个基本的网页。 StackOverflow 基于 ASP.NET。另一方面,Windows 窗体 (WinForms) 用于构建桌面应用程序。
    • @Aaron,请原谅我问了一个愚蠢的问题。除了 Dot NET 基于 MFC 或仅用 Microsoft 语言(F#、C#、VB)编写并由公共语言运行时(CLR)运行的框架和程序之外,Dot NET 编程的真正优势是什么?因为我在这里和互联网上找到的有关 Dot NET 的信息越多,我就越认为 Dot NET 并不是它所宣传的那样。
    • 首先,.NET 不是基于 MFC,除了 Windows 本身是使用 MFC 构建的,而且 .NET 有几个利用 MFC 代码的库。其次,.NET Framework 提供了一个相对简单的平台,可以用来开发几乎任何类型的程序;有用于本地应用程序、Web 应用程序、移动应用程序等的库。所有这些都可以利用一组独立于表示的“核心”库,允许您在应用程序之间共享公共代码。语言本身,尤其是 C#,也比 Java 有一些很好的优势。这完全取决于您的任务。
    • 因此,如果您认为 .NET 不能满足您的需求,请停止拖钓并选择另一个运行时。您可以使用 MFC 在非托管 C++ 中进行编码。您可以使用 PHP 或 JSP 为 Web 编写代码。您可以使用 Ruby 或 Python 编写脚本。您可以在 Erlang 中为高正常运行时间服务编写代码。也许当您有 50 名开发人员使用 5 种语言进行编码且代码重用几乎为零时,您将开始看到具有至少允许重用代码能力的通用框架的通用语言的好处。
    【解决方案2】:

    它们的设计目的是做两件完全不同的事情。 Windows 窗体,或只是 Winforms,是一种 .NET 2.0 技术,旨在创建在 Windows 中运行的可执行应用程序。 ASP.NET 旨在将基本的 .NET Framework 用作 Web 应用程序背后的服务器端引擎,该引擎将 HTML 页面提供给 Web 浏览器。

    有多种方法可以在 Winforms 应用程序中使用 HTML,以及从 HTML 调用 .NET winforms 应用程序的方法,但传统上它们是基本 .NET Framework 的两种用途,以针对两种不同的最终用户体验。

    【讨论】:

    • 那么 ASP.NET 的真正用途或真正目的是什么 - 构建数据库驱动的网站或至少构建一个与服务器通信的基本网页?
    • ASP.NET 的基本目的是构建一个“服务器脚本”网站,类似于您使用 PHP 或 JSP 的目的。这是继不使用 .NET Framework 的经典 ASP 之后的下一步。
    • 又是什么让 ASP 现在使用 .NET Framework 有所不同?这就是我对 Dot NET 的看法。这是 Microsoft 编译的类列表,它们使用户可以方便地访问它们,但是现在您需要他们新的特殊运行时环境,否则您根本无法像 Java Applet 到 Java RunTime 那样运行您的程序环境。这就是我对 Microsoft 的 Dot NET 的看法。 ASP 一直是 ASP,除了 Microsoft 几乎没有改变之外,没有什么真正改变。
    • 坦率地说,如果您认为 .NET Framework 没有价值,那就不要使用它。我已经告诉过你 .NET 的主要优点,但你拒绝了它们。我认为您认为除 Java 之外的任何其他语言或框架都具有与 .NET 的互操作功能相近的任何东西,但如果您能找到一种,那就放弃拖钓并使用它。
    【解决方案3】:

    我认为您必须创建两个单独的项目。问题,尤其是他们的平台是完全不同的。

    【讨论】:

    • 那么 ASP.NET 的真正用途或真正目的是什么 - 构建数据库驱动的网站或至少构建一个与服务器通信的基本网页?
    • ASP.NET 是一种 Web 服务器技术,可用于构建任何 Web 应用程序。基本上,使用 ASP.NET,您可以创建可以使用任意数据源(例如数据库)的动态网页。这些页面的集合称为 Web 应用程序。另一方面,如果您需要使用本地计算机的资源(串行端口),您肯定必须编写一个桌面应用程序(可能使用 WinForms),就像您在 C++/Delphi/whatever 中所做的那样.
    猜你喜欢
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多