这里假设你的Silverlight应用程序没有问题,已经准备好发布了。下面就开始我们的第一步。1.在硬盘上见一个文件夹,用来存放你发布的网站。例如:在D盘建一个WebSite文件夹,然后再Web Site文件下见一个esri文件夹,例如:D:\My Web Site\esri.2.打开Silverlight项目,Rebuild,然后点击Web项目,选择Publish
注意:如果您没有本文开始所说的在服务器端启用WCF RIA Service,那么这里您需要多一步操作,在发布Silverlight应用之前你需要将以下三个引用的Copylocal设置为TrueSystem.ServiceModel.DomainServices.HostingSystem.ServiceModel.DomainServices.ServerSystem.ServiceModel.DomainServices.EntityFramework(添加DomainService会有该引用),具体如下图所示,右键对应的DLL进行设置:
在弹出的配置窗口中选择文件系统(File System),并将目标位置设置为我们上面新建文件夹的路径,如下图所示:
之后点击Publish.然后打开IIS管理器右键网站,选择添加新网站
在添加网站中设置网站名称,以及物理路径(这里选择我们之前建立的文件夹:D:\MyWeb Site,因为在上一步中我们把Silverlight的应用程序Publish到了这个文件夹下了)
之后点击确定,这个时候我们的esri_site应该如下显示:
接着右键esri文件夹,选择转换为应用程序。
在弹出的窗口中点击确定
此时,IIS视图应该如下所示:
这时你可以点击右侧的浏览,查看你的应用程序了。
一般情况下,浏览都没有问题,当时这里需要注意几个问题:1.涉及到引用ArcGIS Server服务的时候,需要注意服务的地址,不要带有localhost或者计算机名,全部用IP地址来代替。2.涉及到登录数据库时,需要注意IIS启用的认证方式,以及SQL Server启用的认证方式,否则会出现'APPPOOL\xxx无法登陆的错误',具体可如下操作: 在Silverlight中默认启用的是Forms认证,所以在IIS中也要启用IIS认证,点击应用程序——选择身份验证,如下设置:
设置设置程序应用池为4.0点击esri_site(Silverlight 应用使用的应用程序池),点击高级设置
选择4.0
注:当出现'APPPOOL\xxx'无法登陆时,发现有两种解决方案,先如下给出:1.设置应用程序池的进程模型为LocalSystem
修改Silverlight应用程序中的数据库连接,在连接中增加,User ID和Password,例如这是本文使用的连接: