silverlight 网站 iis发布_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > silverlight 网站 iis发布

silverlight 网站 iis发布

 2013/7/10 22:14:54  博客园员  博客园  我要评论(0)
  • 摘要:说来实在很惭愧,这么长时间了,才想起开始我的下一篇博客。不找客观理由了,什么公司不让上网云云,一个字“懒”,狂抽耳光ing.........今天就记录一下我当时发布silverlight网站的过程:1.在vs中发布网站。在web项目上右键,点击发布。出现发布对话框,我一般选择发布方法为文件系统。2.修改xap包的ip地址我感觉这是第一次发布不成功的最主要原因,导致出现什么有登录页(宿主页面),一登录就空白等等问题的元凶。首先找到你发布的网站文件
  • 标签:Silverlight iiS 发布 网站

  说来实在很惭愧,这么长时间了,才想起开始我的下一篇博客。不找客观理由了,什么公司不让上网云云,一个字“懒”,狂抽耳光ing.........

    今天就记录一下我当时发布silverlight网站的过程:

  1.在vs中发布网站。

  在web项目上右键,点击发布。出现发布对话框,我一般选择发布方法为文件系统。

     

  2.修改xap包的ip地址

  我感觉这是第一次发布不成功的最主要原因,导致出现什么有登录页(宿主页面),一登录就空白等等问题的元凶。

  首先找到你发布的网站文件,找到一个叫ClientBin的文件夹,打开以后有一个后缀名为 .xap的文件。不要以为这是无法打开的 文件,用解压文件就能打开。但是不要解压他,只要在解压文件中修改就行。

  用解压软件打开以后,找到一个后缀名为 .ClientConfig的文件,用记事本打开,修改address的ip地址为你网站的ip地址。

  

 

<endpoint address="http://10.84.0.55/Service1.svc" binding="customBinding"
                bindingConfiguration="CustomBinding_Service11" contract="ServiceReference2.Service1"
                name="CustomBinding_Service11" />

 

  3.在iis中发布
   以上工作做完了,就可以上传服务器在IIS中发布了。

  至于发布的步骤就参考这个博客吧

     http://blog.163.com/sara1124@126/blog/static/11291097020091115102242173/

  发布完了,还有一个问题:Silverlight作为一个比较新的技术,老版本的iis上不支持那些新的后缀,不知道该怎么解析.xap。所以要添加http头。

  “网站”——右键——“属性”——“HTTP头”——“文件类型”——“新类型” 添加以下的几个类型,这样iis就支持Silverlight 了。

 

  扩展名: .xap 
   MIME类型:xapapplication/x-silverlight

   扩展名: .xaml 
   MIME类型:application/xaml+xml

     4.跨域问题。

http://www.cnblogs.com/jasmine_xm/archive/2010/05/10/1731736.html

Silverlight在设计的时候对网络安全方面做了很多考虑,具体可以看Silverlight SDK。跨域通信是通过在其他域的根部署使用正确跨域策略文件的 Web 服务,可以在该域中启用基于 Silverlight 的应用程序要调用的 Web 服务。Silverlight 支持两种类型的跨域策略文件。

· Silverlight 跨域策略 (clientaccesspolicy.xml)

· Flash 跨域策略 (crossdomain.xml) 的子集

通常,如果基于 Silverlight 的应用程序检测到其请求是一个跨域请求,将首先在 Web 服务的应用程序根处查找 Silverlight 跨域策略文件 (clientaccesspolicy.xml)。如果这个请求导致"404 未找到"或其他错误,应用程序将在应用程序根处查找 Flash 跨域策略文件 (crossdomain.xml)。不允许重定向跨域策略文件。此外,跨域策略文件保持对应用程序会话有效。class="Apple-converted-space">  现在知道了只要在网站中部署一个跨域策略文件,就可以解决Silverlight跨域请求问题。

本人买的教程,是这样配置的,好像wcf要用到配置完的两个文件放在网站的根目录下。

clientaccesspolicy.xml配置文件内容:

<?xml version="1.0" encoding="utf-8"?>

<access-policy>

    <cross-domain-access>

        <policy>

            <allow-from>

                <domain uri="*"/>

            </allow-from>

            <grant-to>

                <resource path="/" include-subpaths="true"/>

            </grant-to>

        </policy>

    </cross-domain-access>

</access-policy>

crossdomain.xml 配置文件内容

<?xml version="1.0"?>

 

     <cross-domain-policy>

 

     <allow-access-from domain="*" />

 

</cross-domain-policy>

 

 

   ok,到这基本就完成了,一个silverlight网站就发布完成了。

    由于自己也是新手,学习的地方还有很多,有不对的地方还请指正,谢谢!

 

发表评论
用户名: 匿名