2012-06-19 47 views
0

我有一个带有WCF服务参考的MVC3应用程序。当然,当我在我的本地主机进行调试时,它运行良好。我将我的MVC3应用程序发布到我的测试Web服务器,在IIS中配置它,我可以很好地进入主屏幕。我发表我的WCF应用程序相同的Web服务器,在IIS中设置它,但是当我点击我的登录按钮,这在我的WCF服务调用一个方法,我得到这个错误:使用WCF服务参考部署应用程序时未找到端点

[EndpointNotFoundException: There was no endpoint listening at 
http://localhost:56266/RQServices.svc that could accept the message. 

在IIS我有网站称为NewPCloser,它指向C:\ NewPcloser,在IIS中,WCF应用程序已安装并指向C:\ NewPcloser \ services。文件RQServices.svc位于此目录中。除了应用程序指向的位置以外,所有默认设置都在IIS中设置。我不知道还有什么我需要说或显示,但让我知道,我会做到这一点。

我的测试网站是(htp for stackoverflow)htp:// devdb/newpcloser。这些服务位于htp:// devdb/newpcloserservices。我应该向这两个地方之一指点什么吗?

底线为什么会出现此错误?谢谢

+0

错误中的URL是否是正确的端点地址?如果是这样,您是否浏览过该地址以查看终端是否在那里?此外,它看起来应该寻找http:// localhost:56266/services/RQServices.svc - 因为IIS指向NewPcloser目录而不是服务目录 – Charleh

+0

它看起来像您配置的端点是您的Visual Studio调试会话。 –

+0

不,这是默认情况下在VS中设置的端点地址。我的测试网站是http:// devdb/newpcloser。这些服务位于http:// devdb/newpcloserservices。我应该向这两个地方之一指点什么吗? – BoundForGlory

回答

1

打开你的Web.Config文件,看看你有什么端点配置。确保它与获取服务的URL相同。

假设你的服务是提供的网址,您的服务器

http://www.yourserver.com/someservice/something.svc 

那么你endpoint应该是这样的

<endpoint address="http://www.yourserver.com/someservice/something.svc" 

     other configuration attributes.... /> 

如果在同一台服务器托管的话,你可能就能够用http://localhost/..之类的东西访问它,而不是你的域名在url中

+0

我添加了这个,但我仍然收到错误: BoundForGlory

+0

什么是devdb/newpcloserservices/RQServices.svc?给一个有效的网址,如http:/// something/.... – Shyju

+0

这就是WCF服务所在的地方。当我在浏览器中输入时出现错误。 “如果在配置中将'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled'设置为true,则端点需要指定相对地址。如果您在端点上指定相对侦听URI,则地址可以是绝对地址。问题,为端点'http://devdb/newpcloserservices/RQServices.svc'指定一个相对URI。“ – BoundForGlory

相关问题