2011-04-20 155 views
0

在我的项目中我有一个WCF服务托管在Windows服务。我通过netTCPBinding和安装的Windows服务在Windows服务中托管了WCF服务。要在我的Silverlight项目中访问WCF服务,我添加了wcf的服务参考。 但是,当我打电话WCF服务的方法正在以下错误:WCF服务托管在Windows服务通过网络TCP

无法连接到 的net.tcp://本地主机:8732/WCFHost /。
连接尝试持续时间为00:00:03.2951885,时间为 。
TCP错误代码10013:试图以 访问的方式插座通过 其访问权限不允许做..
这可能是 由于试图访问服务 在跨域的方式,而 服务未配置为 跨域访问。您可能需要 联系服务的所有者到 通过HTTP公开的套接字跨域策略 和主机服务在 允许的套接字端口范围4502-4534。

请帮我一把。

+1

您的服务和网站托管在同一台机器上吗? – tobias86 2011-04-20 08:40:38

+0

没有我的wcf服务托管在Windows服务 – ahobul 2011-04-20 09:13:38

+0

我明白了,然后我认为服务在另一台机器上。两台机器是否位于不同的域(很可能是用防火墙将它们分开)?如果是这样,您需要打开防火墙上的端口以允许服务呼叫通过。 – tobias86 2011-04-20 09:18:30

回答

-4

使用basicHttpBinding的,而不是NetTcpBinding的

0

同一台计算机连接,而使用命名管道绑定。

如果您向我们展示了您的服务和客户端端点配置,可能会有所帮助。

编辑:在错误读了一下之后你得到(其它网站之间here),尝试从8732更改端口号的东西之间4502-4534作为错误信息提示。

+0

我的wcf服务app.config文件如下 – ahobul 2011-04-20 09:39:30

+0

Lol,没有看到它...也许向我们展示您的Silverlight app.config。如果您说它使用控制台应用程序工作,那么问题很可能在于Silverlight客户端。 – tobias86 2011-04-20 09:42:38

+0

我的wcf服务app.config文件结束点如下: ahobul 2011-04-20 09:47:33

0

在服务器和客户端都保持相同的协议。可能是你正在用不同的协议调用服务。同时检查您是否使用nettcp,您是否有权访问托管服务的机器。