情况是这样的。有一客户端(W7)、服务端(Windows 2008)。
在VS中开发WCF,现在服务程序放在服务端(Windows 2008),客户程序放在客户端(W7),然后配置好IP,无论使用TCP或Http连接,都报错。
如果把客户程序放在服务端(Windows 2008),服务程序放在客户端(W7),配置好IP,使用TCP或Http都可以正常运行。另外,在VS中本地运行也没有任何问题。
我想应该是Windows 2008相关服务没有开启,想请问一下各大侠,需要开启什么服务呢?
以下是报错的截图:
。
(请注意,数据库保证连接是没有错误的。)
访问sqlserver数据库建立连接失败,返回error编码为26,也就是数据库不允许远程连接。在SQL Management里面配置可以远程连接即可。具体操作步骤:选择服务器,右键查看“属性”,点“连接”选项卡,勾选“允许连接到此服务器(A)”。
数据库可是已开启,可保证连接是没有问题的
@wjta168: 数据库连接,是不是配置为SQL Server身份认证模式?你截图里的异常很清楚说明是不可以远程连接或者数据库连接串不对。
@JeffWong: 但只要把客户程序放在服务端(Windows 2008),服务程序放在客户端(W7),配置好IP,使用TCP或Http都可以正常运行。而且我本地VS运行也是没有问题的
@wjta168: 估计是windows2008的数据库网络配置不正确。打开SQL Server Config Manager,配置下网络协议,将TCP/IP一项开启,端口配置正确,然后重试。
@wjta168: 如果配置好了还是不行,确认windows2008防火墙是否开放了SQL Server的端口
@JeffWong: 刚再测试一下,把一个测试Hello的放在服务端(Windows 2008),客户端能运行成功。很可能是因为连接数据库的问题,但另一个问题出现了。我无论本地测试,还是把用户程序放在服务端(Windows 2008)这一方式,我都是连接服务器的数据库,数据库应该不存在不允许远程连接吧?求解
@wjta168: 这已经充分说明是数据库链接问题了。和客服端是否在wp7一点关系也没有。随便写个访问数据库的测试,通了再说
WCF 的宿主模式是什么?