수작업으로 실버라이트 배포

     

  1. \Silverlight3\RiaDeploy
  2. 새로운 사이트에 아래 순서대로 실행
    • Client 폴더 생성
    • XAP 파일 복사해서 ClientBin 폴더에 붙여넣기
    • 샘플 페이지에서 <object /> 태그 부분을 복사
      • source 속성에 xap파일의 경로를 지정
    • 추가
      • Silverlight.js 파일 붙여넣기
      • onSliverlightError 자바스크립트 함수로 예외 처리




-------------------------------------------------------------------------------------




[MainPage.xaml]



<Grid x:Name="LayoutRoot" Background="White">

        <StackPanel>

            <TextBlock x:Name="lblDisplay" Text="" FontSize="20"></TextBlock>           

            <Button x:Name="btnClick" Content="현재시간"></Button>

        </StackPanel>

</Grid>




-------------------------------------------------------------------------------------




[MainPage.xaml.cs]



using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

 

namespace RiaDeploy

{

    public partial class MainPage : UserControl

    {

        public MainPage()

        {

            InitializeComponent();

            // Click Event 코드비하인드 페이지에서 부여

            btnClick.Click += new RoutedEventHandler(btnClick_Click);

        }

 

        void btnClick_Click(object sender, RoutedEventArgs e)

        {

            lblDisplay.Text = DateTime.Now.ToShortTimeString();

        }

    }

}

 

 



-------------------------------------------------------------------------------------



아래와 그림과 같은 과정을 통해 "새 프로젝트"추가로 "MyWeb"이라는 프로젝트를 생성하고 "새 항목 추가"로 "HTML"형식의 파일인 [RiaDeploy.htm]를 만들어서 아래와 같이 코드를 작성한다.







[RiaDeployTestPage.html]소스코드에서 아래의 [RiaDeploy.htm]소스코드 부분에 형광펜으로 칠해진 부분을 복사하여 붙여넣기함.



[RiaDeploy.htm]



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>수작업으로 실버라이트 응용프로그램 배포</title>

    <script type="text/javascript" src="Silverlight.js"></script>

    <script type="text/javascript">

        function onSilverlightError(sender, args) {

            var appSource = "";

            if (sender != null && sender != 0) {

                appSource = sender.getHost().Source;

            }

 

            var errorType = args.ErrorType;

            var iErrorCode = args.ErrorCode;

 

            if (errorType == "ImageError" || errorType == "MediaError") {

                return;

            }

 

            var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

 

            errMsg += "Code: " + iErrorCode + "    \n";

            errMsg += "Category: " + errorType + "       \n";

            errMsg += "Message: " + args.ErrorMessage + "     \n";

 

            if (errorType == "ParserError") {

                errMsg += "File: " + args.xamlFile + "     \n";

                errMsg += "Line: " + args.lineNumber + "     \n";

                errMsg += "Position: " + args.charPosition + "     \n";

            }

            else if (errorType == "RuntimeError") {

                if (args.lineNumber != 0) {

                    errMsg += "Line: " + args.lineNumber + "     \n";

                    errMsg += "Position: " + args.charPosition + "     \n";

                }

                errMsg += "MethodName: " + args.methodName + "     \n";

            }

 

            throw new Error(errMsg);

        }

    </script>

</head>

<body>

아래에 실버라이트 실행</br>

 

    <div id="silverlightControlHost" style="border:1px solid red;">

        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="300" height="300">

                                     <param name="source" value="ClientBin/RiaDeploy.xap"/>

                                     <param name="onError" value="onSilverlightError" />

                                     <param name="background" value="silver" />

                                     <param name="minRuntimeVersion" value="3.0.40818.0" />

                                     <param name="autoUpgrade" value="true" />

                                     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">

                                                      <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>

                                     </a>

                      </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>

    </div>

 

</body>

</html>

 

 



----------------------------------------------------------------------------------





[실행결과]







































Posted by holland14
: