Silverlight启用的WCF服务端口突然改变了

时间:2009-12-09 14:52:51

标签: wcf silverlight silverlight-3.0

我有一个Silverlight Web应用程序解决方案,其中包含支持Silverlight的WCF服务。在过去的6个月左右,一切都运转良好。我可以毫无问题地通过服务访问数据。

我今天开始工作,打开解决方案,再次运行它,突然之间,WCF服务端口和Silverlight想要用来访问服务的端口不匹配。

港口如何以及为何突然改变?

如何指定要使用的端口?我从来没有指定过一个端口 - 它只是起作用了。我在web.config或服务CS文件中找不到端口规范。

4 个答案:

答案 0 :(得分:3)

听起来你正在谈论visual studio中的解决方案,你可以通过点击Web项目属性查看默认端口,转到Web选项卡,在“Servers”部分你会看到默认的端口号,你手动分配特定端口或使用自动分配端口。

之前我见过类似的情况,它发生在使用端口时。您可以通过更改项目属性中的端口号重新分配端口,重新编译Web解决方案,然后更新客户端项目中的Web服务引用。希望能帮助到你。

答案 1 :(得分:1)

您使用的是内置的Cassini网络服务器吗? WCF Web服务是否与托管页面属于同一个Web项目?或者它是一个单独的项目?

如果您正在使用Cassini,则会在项目属性页面的“Web”选项卡上指定它在开发环境中侦听的端口。通常,Visual Studio会自动分配一个端口,但如果您将其用作Web服务,则需要告诉它使用哪个特定端口(例如,51000或其他)。它可能始终默认为同一个端口,但如果它检测到此端口正在使用(可能是您机器上从未退出的另一个Cassini实例),则会切换端口。

您还应该检查Silverlight项目中的ServiceReferences.ClientConfig文件,以查看它尝试连接的端口。

答案 2 :(得分:0)

WCF服务是否在IIS中托管?有人改了一些IIS配置吗?

在IIS中托管时,IIS服务器名称,端口,虚拟目录以及* .svc文件的名称和位置定义服务器端的服务地址。如果有任何这些变化 - >您的服务将不再可用。

答案 3 :(得分:0)

您可能有其他一些软件开始使用该端口(Skype过去曾让我感到困惑)