0

这是情况。我为客户开发了一个 WinForm 应用程序。我们使用了安装在本地域的一台服务器上的 SQL Server 数据库。到目前为止,一切正常。现在,客户想要为应用程序的一部分添加基于 Web 的应用程序,并且他们希望可以通过平板设备从 Internet 访问该部分。远程用户和本地用户都需要同时看到相同的数据。我们现在面临着连接到本地 SQL Server 的挑战。

如果请求只能远程使用应用程序,那么简单的 VPN 连接就可以解决问题。但由于远程员工只使用平板设备,看起来我们只能选择构建受限的公共 Web 应用程序。我很想知道数据访问部分的最佳方法是什么?我在考虑以下问题:

  • 使用 SQL Azure 并将本地数据库移动到 SQL Azure 数据库。这样,Winform 和 Web 应用程序可以连接到同一个数据库。不太确定客户是否愿意接受他的数据库将在远程 Microsoft 服务器上......!
  • 另一种选择可能是将本地 SQL Server 打开到 Internet 并允许远程连接。对我来说,这是我基于安全问题考虑的最后一个选项。
  • 另一种选择可能是让 SQL Server 本地数据库和用于 Web 应用程序的 SQL Azure,并在两个服务器之间同步所需的数据

我真的很想知道你们在那种环境下会提出什么建议。我们需要保留 Winform 应用程序,并且我们需要能够通过平板设备访问数据。

4

3 回答 3

2

为什么你不创建一个暴露所需功能的网络服务层?

于 2012-06-04T15:03:40.047 回答
1

我建议您开发一个 ASP.NET Web 应用程序,将其托管在本地服务器上并允许它连接到 SQL 数据库。

您需要配置您的路由器/防火墙以将 http 流量定向到此服务器。

如果可以为您的客户端提供域登录,则可以使用集成安全保护登录,或者使用 ASP.NET 表单身份验证。

为了轻松开发与平板电脑/手机等兼容的漂亮应用程序,我建议使用Twitter Bootstrap

于 2012-06-04T15:00:52.573 回答
0

我同意 Paul Grimshaw 的回答。

但是,如果您想创建特定于平板电脑(iOS、Android 等)的应用程序。您可以创建一个可以访问 SQL 数据库的 WCF 服务,该服务托管在客户端站点的服务器上。然后将 WCF 服务暴露给 Web,并通过 WCF 服务获取所需的数据。

您很可能可以为该服务重用大量当前的 WinForm 应用程序代码。在这种情况下,您将创建一个 WinForm 并自托管一个具有 HttpBinding 的 WCF 服务。

于 2012-06-13T22:33:52.637 回答