【问题标题】:Convert a WPF application w/ database into a real service将带有/数据库的 WPF 应用程序转换为真正的服务
【发布时间】:2018-06-15 22:36:15
【问题描述】:

我使用带有实体框架的 SQL Server Management Studio 2014 开发了一个 WPF 应用程序。 在这方面的所有时间里,我从来没有知道如何将应用程序转换为真正的服务。 如果 .NET 开发人员使用 Visual Studio 和 SQL Server Management Studio 来构建程序。

如何将其转换为客户程序? 他们可能使用哪个数据库平台来存储系统生成的数据? 客户端有数据库程序吗? 程序转换时,会生成安装程序(.exe)吗?

我不明白它是如何工作的。我需要把它正式化。

问候

【问题讨论】:

    标签: c# sql-server wpf visual-studio entity-framework


    【解决方案1】:

    首先必须单独查看各个组件。 WPF 用于用户界面。 SQL Server 是用来保存数据的。通常,应用程序将至少分为 3 层:UI、业务和数据访问。如果结构正确,则业务逻辑不应包含对 WPF 的引用,并且您可以轻松地将类公开为 Web 服务。在 WPF 中,大多数人都在使用 MVVM 设计,这使得 UI 和业务逻辑之间更加分离。

    因此,如果您想转换为服务,则需要将业务逻辑(和数据访问)与 UI 分开。然后,您可以从 WPF、Web 服务、网页、exe 客户端应用程序或任何其他方式访问这些业务类(或 MVVM 类)。问题是:什么会消耗 Web 服务?

    这应该可以为您提供足够的指导来了解您真正想要什么。

    【讨论】:

      【解决方案2】:

      要回答您的问题,首先您需要明确提及哪种服务(Web ServiceWindows Service

      我想在这里提一下,没有可用的简单转换器可以做到这一点。


      如果是网络服务:

      您需要从 WPF 应用程序中复制业务逻辑并创建您选择的新 Web 服务。您也可以保留数据层。


      如果是 Windows 服务

      您的 wpf 应用程序可以在服务控制器下作为 windows 服务器运行,您可以找到解决方法here




      回答您提出的其他问题




      1.如何将其转化为客户程序?

      显然,如果是 Windows 服务,您需要有一个安装程序项目,如果它是一个 Web 服务,那么您需要将它部署在本地或全局的 IIS 上。


      2。他们可能使用哪个数据库平台来存储系统生成的数据?

      首先,您需要从您的客户那里获取这些信息。最好还是坚持使用 SQL Server,因为您已经开发了它。


      3.客户端有数据库程序吗?

      它还基于您已经开发的数据库引擎。如果您使用 localdb,那么很容易将其安装在您的客户端计算机中。对于其他类型的数据库引擎,您可能需要单独安装数据库引擎(您可能需要基于版本的许可证)


      4.转换程序时,会生成安装程序(.exe)吗?

      您可以创建自己的安装程序项目,也可以利用 .Net 部署技术,here 您可以查看有关它的更多信息。


      更新

      5.如何在客户端机器上安装 SQL Server?

      从您的 cmets 中,我了解到实际问题有所不同,这就是您正在寻找的答案。所以有个详细的stackoverflow问题here,看看吧。

      【讨论】:

      • 嗯,我的意思不是服务本身,只是使用上述数据库安装在 PC 上的程序。它是在带有 SQL Server 的单个 PC 中使用的本地应用程序。它在开发环境中,我希望它能够在客户端运行。
      • 所以你的答案是 4 号
      • 好的。数据库发生了什么?客户端如何管理?我不知道它是如何工作的。我是否必须在客户端的 PC 上安装 SQL Server Management Studio?我很困惑!!!
      猜你喜欢
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多