我有一个Silverlight web应用程序解决方案,其中包括支持Silverlight的WCF服务。在过去的6个月左右,一切都运行得很好。我可以通过该服务访问数据,没有任何问题。
我今天来上班,打开了解决方案,再次运行,突然发现WCF服务端口和Silverlight想要用来访问服务的端口不匹配。
端口如何以及为什么会突然改变?
如何指定要使用的端口?我过去从未指定过端口--它只是起作用了。我在web.config或服务CS文件中找不到端口规范。
发布于 2009-12-10 14:32:54
听起来您正在谈论visual studio中的解决方案,您可以通过单击Web项目属性来查看默认端口,转到Web选项卡,在“服务器”部分中,您将看到默认端口号,您可以手动分配特定的端口或使用自动分配的端口。
我以前见过类似的情况,它发生在端口被使用的时候。您可以通过在项目属性中更改端口号来重新分配端口,重新编译web解决方案,然后更新客户端项目中的web服务引用。希望能有所帮助。
发布于 2009-12-10 01:28:10
您是否在使用内置的Cassini web服务器?WCF web服务是否与您的托管页面属于同一个web项目?或者它是一个单独的项目?
如果您使用的是Cassini,那么它在开发环境中侦听的端口是在项目属性页的"Web“选项卡上指定的。通常情况下,Visual Studio会自动分配一个端口,但如果您将此端口用作web服务,则需要告诉它使用哪个特定端口(例如,51000或其他端口)。它可能总是默认使用同一个端口,但是如果它检测到这个端口正在使用中(可能是由您机器上从未退出的另一个Cassini实例使用的),它就会切换端口。
您还应该检查您的Silverlight项目中的ServiceReferences.ClientConfig文件,以了解它试图连接到哪个端口。
发布于 2009-12-09 22:56:58
WCF服务是否托管在IIS中?是否有人更改了某些IIS配置?
在IIS中托管时,IIS服务器名称、端口、虚拟目录以及*.svc文件的名称和位置定义了您在服务器端的服务地址。如果其中任何更改-->您的服务将不再可用。
https://stackoverflow.com/questions/1874406
复制相似问题