Silverlight发布到IIS上

Silverlight发布到IIS上,第1张

概述将Silverlight发布到IIS6上是件麻烦的事情,不知道为什么MS没有考虑简化 *** 作。   步骤如下: 1)IIS6 本身不支持Silverlight,所有要添加MIME,分别是: .xaml  text/xml .xap   application/x-silverlight-app   2)如果XAP中使用了Webservice,则需要在编译的时候修改配置文件(不明白为什么在代码中修改无效

将Silverlight发布到IIS6上是件麻烦的事情,不知道为什么MS没有考虑简化 *** 作。

 

步骤如下:

1)IIS6 本身不支持Silverlight,所有要添加MIME,分别是:

.xaml  text/xml

.xap   application/x-silverlight-app

 

2)如果XAP中使用了Webservice,则需要在编译的时候修改配置文件(不明白为什么在代码中修改无效)

3)如果XAP中想嵌入HTML显示(即类似于iframe),非常遗憾MS不支持,除非安装在客户端。

   变通的办法:将一个XAP文件拆分成多个,用Frameset构造。

 

PS 因为Silverlight用到了Framework3.5或4.0,如果网站中还有2.0的程序的话,需要增加应用程序池,因为一个池里面不能包含两套框架。

 

网站如果应用了Silverlight技术,直接部署到IIS中是无法正常运行的,因为Silverlight应用所对应的三种MIME类型没有在IIS中注册,所以Silverlight相关的文件无法下载到客户端,而Silverlight又是客户端应用,这样网站运行不正常。

 

Silverlight的发布涉及三种类型的文件:.xap,.xaml,.xbap,这些后缀名对于IIS6和IIS7来说都是新的,他们对应的

 

MIME类型没有默认被添加到IIS中,所以需要手动进行注册,注册的内容为:


.xap     application/x-silverlight-app
.xaml    application/xaml+xml
.xbap    application/x-ms-xbap

      注册MIME类型的方法,打开IIS,在网站或默认网站上右击,选择属性,点击 ‘http头选项卡’找到“MIME类型(M)”按纽,点击进行对MIME类型的新建。添加MIME完成后将网站和对应的应用程序池重启,重新打开网站即恢复正常。

 

 

WCF RIA Services 部署问题

我在使用ADO.NET Entity Data Model生成 * .edmx,然后利用Domain Service 生成服务。在Silverlight中调用服务中的方法。以上过程在VS2010中一切正常,当我想将程序部署在IIS6的时候,程序可以跑起来,但是怎么也没办法获得sql server数据。总是提示“远程服务器返回了错误: NotFound。”;

1:跨越xml已经添加在跟目录;

2:系统所使用的dll均已拷贝纸Bin目录下;

3:利用动态svc地址访问http://localhost:8000/wcf/services/sl_WcfRia-web-hwDomainContext.svc无法获得服务页面,在VS2010运行环境范围时可以访问;

各位朋友,可否知道服务器上那里设置出现了问题,到时svc服务在IIS上无法访问的原因。等待大家的帮助,谢谢!

运行环境情况:

1:开发环境和服务器是一台机器(系统:windows xp;数据库:2005 sql Server;IIS:5.1)

2:Web.Config 文件如下

<?xml version="1.0" enCoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application,please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <customErrors mode="On"/>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="DomainServiceModule" preCondition="managedHandler" type="System.ServiceModel.domainservices.Hosting.DomainServicehttpModule,System.ServiceModel.domainservices.Hosting,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
    </modules>
    <valIDation valIDateIntegratedModeConfiguration="false" />
  </system.webServer>
  <system.web>
    <httpModules>
      <add name="DomainServiceModule" type="System.ServiceModel.domainservices.Hosting.DomainServicehttpModule,PublicKeyToken=31bf3856ad364e35" />
    </httpModules>
    <compilation deBUG="true" targetFramework="4.0"/>
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
      multipleSiteBindingsEnabled="true" />
    <bindings>
     <basichttpBinding>
        <binding name="fooSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <security mode="Transport" />
        </binding> 
      </basichttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

  问题描述如上: 先把解决方案写到下面: 1.至于如何创建wcfria服务,暂时不累赘了,如果不知道就到我的资源文件里面有个文档叫“ Silverlight RIA Services Class library类库使用 ”自己下载阅读 2、创建好wcfria服务并在程序调试好后,就是发布到IIS 步骤如下: 1:安装IIS
2:安装frmwork4.0 (2、3、4步应该开发时都应装好的)
3:安装Silverlight_4_Toolkit_April_2010.msi
4:建创网站的虚拟目录
5:从开发机拷备System.ServiceModel.domainservices.Hosting和System.ServiceModel.domainservices.Server到生产机的C:\windows\Microsoft.NET\assembly\GAC_MSIL这个目录
6:拷备clIEntaccesspolicy.xml文件到wwwroot目录
7:从开发机拷备拷备System.ServiceModel.domainservices.Hosting.OData和System.ServiceModel.domainservices.EntityFramework到生产机 C:\windows\Microsoft.NET\assembly\GAC_MSIL这个目录
8:配置IIS
   (1):wev服务扩展->允许asp.netv4.0
   (2):网站属性->文档->添加默认文档(如:Investoday.Yankee.ThirdPartyTestPage.aspx)
   (3):网站属性->目录安全性->把身份验证只设置成启用匿名方部,去掉集成windows身份验证
   (4):网站属性->Asp.net->选择Version版本为4.0
   (5):网站属性->http头->点击MIME类型->添加.xaml:application/xaml+xml和.xap:application/x-silverlight-app的映射
   (6):重启IIS->运行命令:IISreset

经过上述步聚,部署就可以成功( *** 作系统:windows 2003 sp2,windowsxp 均可)

总结

以上是内存溢出为你收集整理的Silverlight发布到IIS上全部内容,希望文章能够帮你解决Silverlight发布到IIS上所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1021509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存