假设您正在编写一个基于网络的WinForms应用程序,由于客户站点的限制性公司策略,该应用程序应该在“偏执”环境中运行。这种敌对环境有什么样的限制,你做了什么设计围绕它们?
开头的一些例子:
您在现实客户情况中遇到过哪些此类限制,例如银行软件(通常需要生活在特别严格的环境中)?
答案 0 :(得分:3)
嗯,问题的第一部分,我不确定。但是,关于你的要点。您可以在端口80上运行服务器,而不是使用HTTP,而是使用自定义协议。另外,防火墙肯定允许SSL(443),你也可以将你的协议包装在SSL中。至于.NET框架不被允许,您可以使用Xenocode的PostBuild或类似的“静态链接”类.NET应用程序。此外,对于HTTP内容,您可以使应用程序通过HTTP进行通信,但使用Web服务,因此仍然提供丰富的客户端。
这是PostBuild的链接:
答案 1 :(得分:2)
坚持坚持使用IE6的公司。如果您尝试使用Web应用程序解决限制,这可能会增加整个开销。
不给他们的用户管理权限在他们的机器上安装东西也是一个大问题,因为他们可能坚持的浏览器上的一些安全设置。
答案 2 :(得分:1)
通过端口80强制所有网络流量是一个很好的。然后要求端口80上的重定向器允许多个服务器应用程序在一个端口上“监听”,因为打开任何其他端口将是“安全风险”。
答案 3 :(得分:1)
您可能发现的最大问题可能是那些没有定期运行Windows Update且无法访问其计算机的公司的公司。我的客户就是这样,但他们需要成为。
这意味着当您推出软件时,您需要知道他们拥有什么.net平台,并告诉他们“更新到最新版本”并不总是一种选择。在每台桌面上安装没有互联网的更新,并获得所有.net版本,服务包和MS补丁,真是太痛苦了。因此,如果您提供的代码需要用户没有的东西,您可能需要重写它。
答案 4 :(得分:0)
在.NET 2.0发布3年后,被迫在.NET 1.1等旧框架中开发。桌面和服务器团队之间的脱节也是如此。桌面团队认为.NET很糟糕且不安全,而服务器团队却有着完全相反的反应并喜欢.NET,因为它能够使用信任权限锁定环境。
你可以做的很快就能改变非常快的公司政策。让他们接受新事物是一个缓慢而缓慢的过程。