期盼死亡的小丑 发表于 2015-8-15 10:18:56

Silverlight发布到IIS上需要特别注意的地方

  ASP.NET网站发布到IIS上的操作非常容易,基本上有三种途径:
  1、源码发布:直接将源程序copy到IIS根目录(或设定好的虚拟目录)下
  2、在Visual Studio中右键网站根目录生成发布包,会得到编译后的网站文件,copy到IIS目录下
  3、直接在Visual Studio中右键发布,会弹出一个对话框,在对话框中可以选择发布到本地IIS上,只要选定已建立的虚拟目录就可以了。
  
  Silverlight的发布大致和ASP.net相似,也有源码发布和生成编译包后发布,当然也可以右键项目直接发布(直接发布的形式我至今没有搞明白怎么弄,老是报错),但有些地方需要特别注意:
  1、 在IIS的'HTTP头'——>‘MIME类型’中添加.bin、.xaml、.xap三种类型
  2、对项目中引用的 System.ServiceModel.*.dll修改属性为复制到本地
  3、跨域访问WCF的话需要在项目的根目录添加两个xml文件
  4、修改WCF的路径,比如调试时路径为http://localhost:33076/CommonManager/UserManagerService.svc,那么发布的时候就要将它修改为http://(IIS地址)/(项目名称)/CommonManager/UserManagerService.svc
  5、在Silverlight项目上右键生成发布包Build Deployment Dackage时,在(项目名称).web\obj\Debug\Package\PackageTmp下的web.config文件时编译后文件,里面的数据库连接字符串会被编译成如下形式:

<add name="DefaultConnectionString" connectionString="$(ReplacableToken_DefaultConnectionString-Web.config Connection String_0)" providerName="System.Data.SqlClient"/>,所以在将PackageTmp文件夹下编译后的发布文件直接拷贝到IIS下的时候,必须将编译后的web.config给替换掉,否则将无法连接到数据
6、Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.
将服务所在的文档添加NETWORK SERVICE的读取权限  
页: [1]
查看完整版本: Silverlight发布到IIS上需要特别注意的地方