部署时,Silverlight应用程序中的服务不起作用

时间:2013-08-01 11:46:53

标签: visual-studio silverlight iis iis-express

我创建了一个使用服务的Silverlight应用程序。该服务在该解决方案的Web项目中定义。 silverlight应用程序引用它并使用它。 当我在Visual Studio中运行应用程序时,一切都在我的开发机器上本地工作。

我注意到VS提供的网址是:http://localhost:50453/Default.htm

但是当我部署它(通过文件系统复制部署选项)时,网页启动并且看起来很好,除了它似乎在使用该服务时出现问题。 在Silverlight应用程序中,如果我查看引用设置,该服务的URL是:http://localhost:50453/SilverlightService.svc,那可能是错的,因为我部署的服务器在端口50453上没有线索。

所以我试图在我的开发机器上将此端口更改为80,但我运气不好。我的web项目没有任何可以更改端口的属性。已打开的网址和网址已锁定在http://localhost:50453: - /

如何更改我的开发环境以使生产环境与端口80匹配?

1 个答案:

答案 0 :(得分:0)

您肯定可以在项目属性中更改Web项目的URL,但这不是一个好的解决方案,因为从远程计算机访问SL应用程序时会遇到同样的问题。

您需要以编程方式设置服务URL,如上所述:

ServiceReference1.Service1Client svc = new ServiceReference1.Service1Client();
Uri serviceUri = new Uri(System.Windows.Browser.HtmlPage.Document.DocumentUri, "Service1.svc");
svc.Endpoint.Address = new System.ServiceModel.EndpointAddress(serviceUri);

此解决方案使用您用于访问Silverlight应用程序的相同URL。