수작업으로 실버라이트 배포 (RiaDeploy)
.NET프로그래밍/Silverlight 3.0 2009. 11. 24. 10:43 |- \Silverlight3\RiaDeploy
- 새로운 웹 사이트에 아래 순서대로 실행
- 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>
----------------------------------------------------------------------------------
[실행결과]
'.NET프로그래밍 > Silverlight 3.0' 카테고리의 다른 글
<object /> 태그와 <embed />태그로 실버라이트 적용 (0) | 2009.11.24 |
---|---|
실버라이트 1.0 개발 (0) | 2009.11.24 |
Application 클래스 (0) | 2009.11.24 |
RiaHelloWorld (0) | 2009.11.23 |
실버라이트 3.0 개발 환경 구축 (0) | 2009.11.23 |