QuickStart: Hello World 1.1 for Silverlight Streaming

Silverlight/News 2007. 10. 19. 16:19

Silverlight Streaming Server를 사용하는 퀵 스타트 하나를 번역해 보았습니다.



첨부된 프로젝트에서 시작하면 아래 설명된 Project 생성/수정의 상당부분을 생략할 수 있습니다.

이 퀵스타트는 다음 작업을 포함합니다:
  • Visual Studio에서 Hello World Project 생성하기 (첨부된 파일 그냥 사용 가능)
  • 프로젝트를 Silverlight Streaming과 함께 작동할 수 있도록 변경하기

미리 준비되어야 할 것들



■ Silverlight Project 생성하기

  1. Visual Studio를 실행합니다.
  2. 프로젝트 형식 트리에서 Visual C# 노드 하위의 Silverlight를 선택합니다.
  3. SilverlightProject를 선택하고, 프로젝트 이름은 HelloWorld11로 하고 OK 버튼.
  4. Page.xaml 열고 아래 코드를 <Canvas> element 내부에 추가합니다.:
    <TextBlock>Hello World!</TextBlock>

■ 로컬에서 테스트 하기

  1. TestPage.html에 오른쪽 클릭을 하고 시작 페이지로 설정(Set As Start Page)을 누릅니다.
  2. 로컬에서 실행하기 위해 F5를 누릅니다.

■ 프로그램을 Silverlight Stream과 함께 작동하도록 변경
  1. TestPage.html를 엽니다.
  2. 이 라인을 :
    <script type="text/javascript" src="Silverlight.js"></script>
  3. 아래 라인으로 대체합니다.:
    <script type="text/javascript" src="http://agappdom.net/h/silverlight.js"></script>
  4. TestPage.html 파일을 저장하고 닫습니다.

    다음으로, Silverlight Object를 생성하는 스크립트를 업데이트 할 것입니다.

  5. TestPage.html.js 파일을 엽니다.
  6. 파일 전체 내용을 아래 내용으로 대체합니다. ("XXXXX" 부분은 각자 발급받은 Silverlight Streaming 계정 ID로 적어줍니다.):
  7. function createSilverlight()
    {
    Silverlight.createHostedObjectEx({
    source: "streaming:/XXXXX/HelloWorld11",
    parentElement: document.getElementById("SilverlightControlHost"),
    id: "SilverlightControl",
    events: {},
    initParams: ["textVal=Hello_World"]
    });
    }
  8. 새 함수는 createHostedObjectEx을 호출하는데, source 파라미터는 지금 Silverlight Streaming 서버 상의 그 프로젝트의 위치를 참조합니다. 다른 파라미터들은 제거되었습니다. (제거된 파라미터들은 다음 단계에서 여러분이 만들게 될 manifest.xml라는 파일로 옮겨 갑니다).
  9. manifest.xml라는 이름의 XML파일을 프로젝트에 새로 추가합니다.
  10. 다음 코드를 새 파일에 작성합니다.:
    <SilverlightApp>
    <source>Page.xaml</source>
    <version>1.0</version>
    <width>100%</width>
    <height>100%</height>
    <inplaceInstallPrompt>false</inplaceInstallPrompt>
    <background>#FFFFFF</background>
    <framerate>24</framerate>
    <isWindowless>false</isWindowless>
    </SilverlightApp>
  11. CreateSilverlightEx() 함수의 모든 파라미터가 manifest.xml 파일에 있습니다.
  12. Page.xaml 파일을 열어 전체 내용을 아래 내용으로 대체합니다.:
    <Canvas x:Name="parentCanvas"
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Loaded="Page_Loaded"
    x:Class="HelloWorld11.Page;assembly=HelloWorld11.dll"
    >
    <Rectangle Width="300" Height="70" Canvas.Left="10" Canvas.Top="10">
    <Rectangle.Fill>
    <RadialGradientBrush GradientOrigin="1,0">
    <GradientStop Color="Yellow" Offset="0.0" />
    <GradientStop Color="Red" Offset="0.25" />
    <GradientStop Color="Yellow" Offset="0.75" />
    <GradientStop Color="Red" Offset="1.0" />
    </RadialGradientBrush>
    </Rectangle.Fill>
    </Rectangle>
    <TextBlock FontSize="40" FontFamily="Georgia" FontStyle="Italic"
    FontWeight="Bold" Canvas.Top="20" Canvas.Left="20" x:Name="param">
    <TextBlock.Foreground>
    <LinearGradientBrush>
    <GradientStop Color="Cyan" Offset="0.0" />
    <GradientStop Color="Blue" Offset="1.0" />
    </LinearGradientBrush>
    </TextBlock.Foreground>
    </TextBlock>
    </Canvas>
  13. Page.xaml 파일을 저장하고 닫습니다.
  14. Page.xaml.cs 파일을 열어 다음 내용으로 대체 합니다. :
    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.Collections.Generic;

    namespace HelloWorld11
    {
    public partial class Page : Canvas
    {
    public void Page_Loaded(object o, EventArgs e)
    {
    // Required to initialize variables
    InitializeComponent();

    // Get the startup arguments (passed from the hosting Web page).
    IDictionary<string, string> startupArguments = WebApplication.Current.StartupArguments;

    // Use the key to get the startup argument.
    string strText = startupArguments["textVal"];

    // Find the element on the XAML page.
    TextBlock tb = this.FindName("param") as TextBlock;

    // Set the text value to that of the init param.
    tb.SetValue(TextBlock.TextProperty, strText);
    }
    }
    }
  15. Page.xaml.cs 파일을 저장하고 닫습니다.
  16. 프로젝트를 빌드하고 HelloWorld11.dll 파일이 \HelloWorld11\ClientBin 폴더 안에 존재하는지 확인합니다.
■ 압축파일(ZIP Archive) 만들기
  1. 솔루션 탐색기에서 프로젝트 이름에 오른쪽 클릭을 하고, 윈도우즈 탐색기에서 폴더열기를 클릭합니다.
  2. ClientBin 폴더 안의 HelloWorld11.dllmanifest.xml, Page.xaml 파일을   HelloWorld11.zip라는 파일로 압축합니다.

■ 업로드하고 테스트하기
  1. Silverlight Streaming에 .zip파일을 하고, 다음을 따라해 보세요. Using the Silverlight Streaming Administration Site.
  2. TestPage.html 파일을 오른쪽 클릭하고 시작페이지로 설정을 선택합니다.
  3. F5 를 눌러 Visual Studio에서 실행해 봅니다.


다음 링크로 가시면 원문을 비롯하여 많은 1.0 예제를 보실 수 있습니다. 1.1 예제는
아직 이것 하나 뿐입니다.

http://msdn2.microsoft.com/en-us/library/bb851598.aspx


설정

트랙백

댓글