2012-04-03 126 views
3

我在写一个WCF web服务。我需要从另一台(linux)机器访问该服务。从本地主机以外的机器访问WCF服务

在我的电脑上,我可以通过'localhost'访问网址,但是从另一台机器访问(使用机器名替换localhost)不起作用。

我相对较新的WCF,我的猜测是我需要配置它允许来自其他机器的请求,但我不知道如何做到这一点。

这是netstat的输出,如果有帮助的话。谢谢!

C:\ Users \ bb \ Desktop> netstat -na | FINDSTR 57566

TCP 127.0.0.1:57566 0.0.0.0:0 LISTENING

+2

确保服务器机器没有阻塞端口57566. – Tudor 2012-04-03 20:35:43

+1

这似乎更像是一个网络问题,而不是编程相关的 - >主题外。 – 2012-04-03 20:35:50

+0

那么,你如何尝试从Linux调用wcf服务? C++? – 2012-04-03 20:36:25

回答

2

你如何托管你的服务? IIS或Visual Studio中的内置Web服务器?如果它是Visual Studio(“Cassini”)Web服务器,则无法从其他机器访问它。

看到这个堆栈兑换问题,这是类似的:https://serverfault.com/questions/82899/can-i-access-cassini-from-a-remote-machine

微软希望你将应用程序部署到IIS进行远程连接。 Cassini(Visual Studio Web服务器)纯粹是为了开发目的。

+0

这可能是。谢谢大卫。 – Poul 2012-04-03 20:57:13

+0

我很高兴我能帮上忙。祝你好运!! – 2012-04-03 20:59:56

0

您是否使用Visual Studio运行服务?默认情况下,Visual Studio使用的ASP.NET Development Server只能从本地主机访问。根据你在做什么,你可以在Visual Studio中使用IIS Express。否则,您将需要在IIS中托管您的服务。

+0

谢谢大卫。我也会检查IIS Express。我们是一家Linux商店,他接受了我们只能通过C#API进行通信的供应商。鉴于我们所有的基础架构都是linux,我们正在为他的API构建一个Web服务接口,以便其他脚本/应用程序可以访问它。 – Poul 2012-04-03 21:07:32