zoukankan      html  css  js  c++  java
  • 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)。不允许重定向跨域策略文件。此外,跨域策略文件保持对应用程序会话有效。  现在知道了只要在网站中部署一个跨域策略文件,就可以解决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网站就发布完成了。

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

  • 相关阅读:
    iOS程序-UIScrollView的基本使用
    iOS方法类:CGAffineTransform
    指南针开发
    iOS用if语句判断null
    UIView常用的一些方法
    xcode视图缩短了
    TCP&UDP基础
    朴素贝叶斯方法在乳腺肿块检测中的应用
    进程与线程的相关知识点总结
    C++中sizeof操作符与strlen函数
  • 原文地址:https://www.cnblogs.com/zs-guo/p/3181305.html
Copyright © 2011-2022 走看看