2011-07-19 32 views
0

我使用.NET Framework 4.0创建了Silverlight应用程序。我使用的是WCF用的LINQ to SQL调用从SQL Server存储过程2008年如何在IIS中使用VS2010在另一台PC上运行Silverlight应用程序

我的应用程序的工作以及在VS 2010中的本地方式,但我怎么能在使用IIS另一台PC上安装应用程序?我在IIS中的另一台PC上配置了我的WCF服务,并且很好地处理了该服务,但应用程序调用不好。

服务犯规显示任何错误和任何数据。我的问题是我的应用程序如何使用该服务,或者如何将我的silverlight应用程序安装在VS2010以外的另一台PC上?

我尝试使用IIS在客户端PC的安装我的WCF是在客户端PC的任何问题,运行我的Silverlight应用程序,但应用程序不显示任何数据。

+0

您是否移动了Silverlight的网站和WCF服务的网站都对新机器吗? – Aardvark

+0

是的,事实上,我已经将IIS中的WCF服务装入新机器,但应用程序不会识别WCF服务,为什么你认为这可能? – djramso

回答

0

这里是我的猜测:

当您在Silverlight中添加一个引用到Web服务(第3版和第4至少)它创建了一个.clientconfig文件。该文件类似于您可能已经熟悉的app.config或web.config文件。在添加初始引用时,它将成为Web服务的硬编码URI。 我的猜测是这条路径仍然指向你的开发机器。一个选项是更改此URI以匹配已部署的位置。我认为这个想法是,你需要解压缩XAP文件,手动更改地址,然后重新压缩(部署/安装系统时)。

您也可以编程选择不同的URI比在clientconfig。你在生成的服务代理类的构造函数中传递一个Uri对象(或类似的东西)。我经常创建一个Uri,这与Silverlight应用程序所在页面的路径相关。这使得部署变得简单。但是这种相对路径的事情可能会使调试变得困难,您可能需要考虑一种重写此行为的方法。 (我们使用一个ASPX代码来改变标签包含指定参数覆盖的相对路径的东西)

+0

非常感谢你Aardvark我改变了.clientconfig的参考,那就是问题所在。 – djramso

0

这里有几种可能性:

- 它可能与Silverlight客户端访问策略,只要确保如果您从不同的域调用,则可以对承载SL的主机执行跨域调用。

- 您的引用可能没有被更新,仍然指向旧地址(如可能的IP)

- 你的IIS开发服务器获得一个动态端口,它已经改变了与服务器不上运行已经在服务定义中指定的端口。

1

我个人认为,你必须禁用你要连接的计算机的防火墙。

相关问题