5

假设您正在编写一个基于网络的 WinForms 应用程序,由于客户站点的限制性公司政策,该应用程序应该在“偏执”环境中运行。这种恶劣的环境有什么样的限制,你做了什么围绕它们设计的?

一些例子开始:

  • 问题:有一个非常严格的防火墙,只允许出站端口 80 流量。解决方案:仅使用 HTTP 进行网络连接。
  • 问题:不允许使用 .NET 框架。解决方案:将您的应用程序转变为网络应用程序。

您在现实生活中的客户情况中遇到过哪些此类限制,例如在银行软件中(通常需要生活在特别严格的环境中)?

4

5 回答 5

3

好吧,问题的第一部分,我不确定。但是,至于您的要点。您可以在端口 80 上运行您的服务器,而不是使用 HTTP,而是使用您的自定义协议。另外,防火墙当然允许 SSL (443),您也可以将您的协议包装在 SSL 中。就不允许使用 .NET 框架而言,您可以使用 Xenocode 的 PostBuild 或类似的用于 .NET 的“静态链接”应用程序。此外,对于 HTTP 的东西,您可以让您的应用程序通过 HTTP 进行通信,但使用 Web 服务,因此仍然提供富客户端。

这是 PostBuild 的链接:

https://secure.xenocode.com/Products/Postbuild-for-NET/

于 2009-05-04T13:18:56.593 回答
2

坚持使用IE6的公司。如果您尝试使用 Web 应用程序解决限制,这可能会增加整个开销。

Not giving their users admin rights to install stuff on their machine is also a big deal, as can be some security settings on the browser they may insist on.

于 2009-05-04T13:35:06.820 回答
1

强制所有网络流量通过端口 80 是一个不错的选择。然后需要端口 80 上的重定向器以允许多个服务器应用程序在一个端口上“侦听”,因为打开任何其他端口将是“安全风险”。

于 2009-05-04T13:26:25.593 回答
1

您可能会发现最大的问题是那些不定期运行 Windows Update 并且无法访问其计算机的 Internet 的公司。我的客户就是这样,但他们必须这样。

这意味着当你推出你的软件时,你需要知道他们有什么 .net 平台,并且告诉他们“更新到最新”并不总是一种选择。在没有互联网的情况下,在每个桌面上安装更新,并推出所有 .net 版本、服务包和 MS 补丁,这真的很痛苦。因此,如果您交付的代码需要用户没有的东西,您可能必须重写它。

于 2009-05-04T13:30:32.197 回答
0

在 .NET 2.0 发布 3 年后,被迫在 .NET 1.1 等旧框架中进行开发。还有桌面和服务器团队之间的脱节。桌面团队认为 .NET 不好且不安全,而服务器团队的反应完全相反,他们喜欢 .NET,因为它能够使用信任权限锁定环境。

您无法快速更改公司政策。让他们接受新事物是一个缓慢、非常缓慢的过程。

于 2009-05-04T13:22:25.073 回答