【发布时间】:2010-12-24 20:17:39
【问题描述】:
在我工作的银行中,所有客户端工作站都安装了 .Net 2,我无法控制影响或在客户端安装更新版本的框架。在服务器端,我有更多的控制权,如果我愿意,我可以编写一个 .Net 3.5 WCF 服务。
我有一个现有的胖客户端,我想对其进行重构并将其数据访问代码 (Oracle Odp.net) 转移到服务背后的服务器上(以消除客户端工作站对 Oralce 10g 客户端的依赖)。
我的问题是,如果我将此数据层放在 WCF 服务后面,我可以从客户端上的 .Net 2.0 GUI 应用程序访问它吗?还是客户端工作站也需要 .net 3.0/3.5?
除了连接到具有 .Net 3.5 SP1 的 Windows 2003 Server 的开发机器上的几个原型应用程序外,我没有太多使用 WCF,因此我正在寻求建议。
另一个考虑因素是,IIS 在这家银行被视为闯红灯技术(未经许可禁止)
更新
我的 WCF 服务在控制台应用程序中运行,当它接收和处理调用时,我会回显到控制台输出。在我的 Client .net 2 端,我选择了添加 Web Reference 并拨打电话。但是我得到一个错误,即使我得到了错误,控制台输出的回显仍然在服务器端生成,所以它被接收只是没有正确返回。错误是:
异常:底层连接已关闭:接收时发生意外错误。
内部异常:无法从传输连接读取数据:现有连接被远程主机强行关闭。
如何解决这个问题?
【问题讨论】:
-
我也有同样的情况。您是否找到了如何托管可以被 .net 2.0 winform 使用的服务(考虑到我们不能使用 IIS)。谢谢
标签: c# wcf oracle .net-3.5 .net-2.0