老师,现在我封装了PW登录的一些接口,C#winform程序调用,部署在服务器上,本地测试时可以登录,在服务器上登录不上,报32768,后来在服务器上安装了PW客户端也报,然后按照论坛的给出的解答修改DNS服务和数据源列表的配置后PW客户端就可以了,但是我写的程序还是报32768。登录接口时aaApi_AdminLogin ,数据源名称也试过“服务器IP:数据源名称”,程序是部署在windows server上的。这个对于我写的程序时电脑上还要做什么配置吗?
请先用纯C++编程测试,这样可以排除您C# 封装的部分。再者,Bentley不推荐采用C# 开发PW,因为PW SDK仅提供了C++的接口。C++到C# 的封装需要较高的编程技术。
我的PW接口是用C++封装的,生成Dll以后供C#调用的,这个影响很大吗?
会有影响,因为在C# 调用DLL时需要.NET Framework环境以及相应的版本,增加了复杂性。C# 写出来的代码我们叫做托管代码,必须在.NET Framework上运行。
而C++本身写出的代码我们称之为本机代码(或叫非托管代码),不需要.NET环境。故,您改用纯C++测试的话,能排除掉您服务器上的.NET环境是否正确的问题。
我们有时候找复杂问题的原因只能依靠这种看起来比较笨的排除法,虽然看起来笨,但有效。
我用C++写了界面和代码,在本地是可以的,但是在客户的服务器上测试还是报32768。另外补充,客户端与服务端处于不同的网段
陈玄 陈 said:本地是可以的
这个本地具体是指什么?PW客户端和PW服务器都在本地电脑上?我的理解是:
①本地电脑(电脑A)安装有PW客户端,去登陆非本地的PW服务器(电脑B);
②你现在是想将另外一个服务器(电脑C)作为PW客户端去登陆电脑B上的PW服务器。
是这个意思吗?