c# - .Net 2.0 winforms 客户端应用程序可以连接到 Windows Server .Net 3.5 WCF 服务吗? - 需要架构建议

标签 c# wcf oracle .net-3.5 .net-2.0

在我工作的银行中,所有客户端工作站都安装了 .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 的几个原型(prototype)应用程序之外,我没有使用 WCF,所以我正在寻找建议。

另一个考虑是IIS在本行被认为是红灯技术(未经许可禁止)

更新

我的 WCF 服务在控制台应用程序中运行,当它接收和处理调用时,我会回显控制台输出。在我的 Client .net 2 端,我选择了添加 Web 引用并进行调用。但是我得到一个错误,即使我得到错误,控制台输出的回显仍然在服务器端生成,所以它被接收只是没有正确返回。错误是:

异常:底层连接已关闭:接收时发生意外错误。

内部异常:无法从传输连接读取数据:现有连接被远程主机强行关闭。

如何解决这个问题?

最佳答案

如果 WCF 服务公开了一个 basicHttpBinding 端点,那么 .NET 2.0(或任何其他使用 SOAP 的代码)应该能够毫无问题地使用它。

关于c# - .Net 2.0 winforms 客户端应用程序可以连接到 Windows Server .Net 3.5 WCF 服务吗? - 需要架构建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874010/

相关文章:

c# - 在 DataTemplate 中绑定(bind)图像源时出错

c# - 在 C# 中关闭/处理 ServiceHost 线程的正确方法?

wcf - 使用路由消除 WCF 4 服务 URL 中的 .svc?

c# - 我们如何知道wcf服务的输入/输出类型?

oracle - 我可以在哪些数据类型上使用 Oracle PL/SQL RANGE 子句来约束变量?

python - 将 Django 二进制字段转换为数组

java - hibernate避免id

c# - 字典 Keys.Contains 与 ContainsKey : are they functionally equivalent?

c# - 在 SSIS .net 脚本任务中格式化 Excel 列

c# - Linq 查询在编译时不起作用