天道酬勤

博观而约取,厚积而薄发!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在企业级应用系统中,使用WCF+Silverlight3的难点不在开发,而部署是很让人头疼的,下面我将我的部署实践分享一下,我采用的是Silverlight3+WCF,SL的宿主采用IIS6.0,WCF宿主为windows系统服务:

首先确认你的IIS是否安装了ASP.NET2.0,使用下面的命令可以安装ASP.NET2.0的支持,在命令行下敲入:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i


 

关于WCF与Silverlight的跨域访问在这里就不多说了,不会的可以看我的http://www.cnblogs.com/SunYu/archive/2010/07/15/1777867.html,有详细的教程,WCF以控制台作为宿主和以服务为宿主的跨域访问是一样的。

 

下面开始部署:

1. 制作WCF服务的安装程序

要说明的是跨域访问策略文件要手动添加进去。

安装之后启动服务。

2. 部署Silverlight到IIS:

(1)为IIS添加MIME类型.xaml application/xaml+xml和.xap application/x-silverlight-app

(2)注意Silverlight的ServiceReferences.ClientConfig中WCF服务的地址:

如果是localhost,不管你怎么部署,只能在本机访问了,局域网根本访问不了WCF,更谈不上外网。

如果Silverlight只在局域网中被访问,那么可以将localhost配置成你的局域网IP

如果Silverlight既要在局域网访问又要在外网访问,那就就将localhost替换为外网IP,然后在路由器上做映射到本机。或者使用花生壳等工具。

 

到此,WCF服务已经开启,就可以使用外网IP地址访问Silverlight了。