'.NET'에 해당되는 글 101건
- 2010/04/15 ASP.NET - ICallback을 이용한 JSON 기반의 Javascript Serialization
- 2010/04/12 web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA
- 2010/04/05 ASP.NET Layout 각 폴더 별 설명
- 2009/10/21 Windows Service Debugging
- 2009/10/11 ASP.NET 2.0 AJAX - UpdateProgress
- 2009/09/27 Unicode 한글 코드 표
- 2009/07/21 Silverlight - Animation
- 2009/07/20 Silverlight - Media Player Sample (2)
- 2009/07/16 Silverlight + Expression = Visual Kitchen
- 2009/07/15 Silverlight - Network Sample 2
ASP.NET - ICallback을 이용한 JSON 기반의 Javascript Serialization

원문 참조 : http://aspalliance.com/1537_ICallback__JSON_Based_JavaScript_Serialization.1
* 4월 19일 추가 내용
프로젝트 기반은 .NET Framework 3.5 프로젝트로 설정하고 진행하셔야 합니다.
그리고 제가 테스트해 본 소스도 첨부합니다.
예제 소스 파일 다운로드 :
JSON_ICallbackEventHandler.zip
아직 테스트 해보지는 않은 코드이지만 흥미로운 내용이네요~
별다른 라이브러리를 사용하지 않고 ICallback을 이용해서 Javascript Serialization을 JSON Object 형식으로 처리할 수 있는 방법이니깐요.
먼저 Page나 Controll 클래스에서 System.Web.UI.ICallbackEventHandler를 Implement 해야한다고 합니다.
아래 RaiseCallbackEvent 메소드가 자바스크립트 함수를 호출하게 되고요.
RaiseCallbackEvent method invoke through JavaScript function
public void RaiseCallbackEvent(string eventArgument)
{
//to do code here
}
RaiseCallbackEvent가 완료되면 알아서 GetCallbackResult가 호출되도록 하고요.
GetCallbackResult method invokes itself when the processing of RaiseCallbackEvent method is completed.
public string GetCallbackResult()
{
return "";
}
이제 Page_Load나 Page_Init 부분에서 사용자 스크립트를 등록합니다. 'CallServer' 형식으로 아래 예제는 등록하고 있네요.
해당 스크립트에선 CallbackEventReference 를 가져가니 서버측을 호출하도록 되어있죠.
이렇게 하면 C/S 간의 상호 호출되는 부분이 완성되는 듯 합니다.
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager scriptMgr = Page.ClientScript;
String cbReference = scriptMgr.GetCallbackEventReference(this, "arg",
"ReceiveServerData", "");
String callbackScript = "function CallServer(arg, context) {" + cbReference + "; }";
scriptMgr.RegisterClientScriptBlock(this.GetType(),"CallServer", callbackScript, true);
}
이제 사용자 쪽의 스크립트를 등록합니다.
버튼을 클릭하면 CallSrv를 호출하고 CallServer는 서버측 메소드를 호출해 결과값은 ReceiveServerData를 통해 받도록 되어 있죠.
<script language=javascript type=text/javascript>
function ReceiveServerData(arg, context)
{
alert(arg); //just to show output
}
function CallSrv()
{
CallServer('get customer', '');
}
</script>
<input type="button" value="get customer" onclick="CallSrv()" />
이제 서버측에서 customer 형식에 대한 정의가 필요하겠죠. 아래와 같은 JAVA에서 보면 Beans 와 같은 C# 에서의 클래스 하나를 정의합니다.
public class Customer
{
public string Name;
public int Age;
}
이제 핵심적으로 RaiseCallbackEvent 를 정의하는데요.
이 부분이 가장 핵심인 것 같네요.
System.Web.Script.Serialization.JavaScriptSerializer
를 사용하고 있고, 이를 통해서 JSON 형식으로 Object를 반환하도록 해줍니다.
C# 에서의 Class Object (Java로 보면 Beans) 형식을 JSON 형식으로 변수로 받으면
Javascript에서도 객체 형식으로 바로 사용할 수 있게 되겟네요
public void RaiseCallbackEvent(string eventArgument)
{
//populate Customer object to return
Customer customer = new Customer();
customer.Name = "Muhammad Adnan";
customer.Age = 24;
//javascript serialization of Customer object
System.Web.Script.Serialization.JavaScriptSerializer jss;
jss = new System.Web.Script.Serialization.JavaScriptSerializer();
//stringbuilder to contain serialized customer object
System.Text.StringBuilder sbCustomer = new System.Text.StringBuilder();
jss.Serialize(customer, sbCustomer);
jsonResult = sbCustomer.ToString();
}
public string GetCallbackResult()
{
return jsonResult;
}
아래 메시지는 샘플로 출력해본 내용입니다.
별 다른 라이브러리를 사용하거나 하지 않고,
페이지의 PostBack이 일어나거나 페이지가 Refresh 되지 않고 데이터 처리하는 내용으로 아주 좋은 활용이 되겠네요 ^ ^
'.NET > ASP.NET' 카테고리의 다른 글
| ASP.NET - ICallback을 이용한 JSON 기반의 Javascript Serialization (0) | 2010/04/15 |
|---|---|
| web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA (0) | 2010/04/12 |
| ASP.NET Layout 각 폴더 별 설명 (0) | 2010/04/05 |
| ASP.NET 2.0 AJAX - UpdateProgress (0) | 2009/10/11 |
| A .NET library for OpenFlashChart control (0) | 2009/03/29 |
| iTunes Data Grid Skin for ASP.NET GridView, ListView Control (0) | 2009/02/02 |
web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA

발췌 : http://blog.naver.com/crazydev/130013860087
- 암호화
aspnet_regiis.exe -pe connectionStrings -app /Intro20
- 암호화 해제
aspnet_regiis.exe -pd connectionStrings -app /Intro20
ASP.NET 2.0에서는 DB 연결 문자열등을 손쉽게 암호화 하는 방법을 제공한다.
DB 연결 문자열에는 DB 계정의 ID/PW가 노출되어 있으므로 암호화를 하는 것이 보안상 좋을 것이다.
web.config의 어느 섹션도 다 암호화가 가능하고, 개발자가 따로 해주는 부분은 없다.
닷넷 프레임 워크에서 알아서 암호를 풀어서 반환해 주기 때문에 단지 암호화만 하면 된다.
-p 옵션에는 암호화를 하고자 하는 섹션 명을 적어주고 -app 에는 가상 디렉토리 명을
적어 주면 된다.
디폴트는 RSA암호화 방식을 사용하는데 이 키가 machine.config 파일에 있다.
하지만 IIS용 계정인 network service 계정이 이 키에 대한 접근 권한이 없다면 에러가 날 수
있는데, 그럴 때에는 아래와 같은 명령어로 권한을 주면 해결이 가능하다.
aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority\Network Service"
참고 사이트) http://msdn2.microsoft.com/en-us/library/ms998283.aspx
'.NET > ASP.NET' 카테고리의 다른 글
| ASP.NET - ICallback을 이용한 JSON 기반의 Javascript Serialization (0) | 2010/04/15 |
|---|---|
| web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA (0) | 2010/04/12 |
| ASP.NET Layout 각 폴더 별 설명 (0) | 2010/04/05 |
| ASP.NET 2.0 AJAX - UpdateProgress (0) | 2009/10/11 |
| A .NET library for OpenFlashChart control (0) | 2009/03/29 |
| iTunes Data Grid Skin for ASP.NET GridView, ListView Control (0) | 2009/02/02 |
ASP.NET 프로젝트에 특수 기능을 하는 미리 정의된 폴더들이 있습니다.
잘 모르는 내용들도 있고 자주 사용하시던 내용도 있을거에요~
내용이 정리된 부분이 MSDN이 있어, 평소 별로 중요하게 생각하지 않는 부분이지만 한번씩 상기해볼만 한 내용이에요~
ASP.NET Layout 각 폴더 별 설명
- App_Browsers 폴더 : 각 브라우저를 식별하고 기능을 확인하기 위해 ASP.NET에서 사용하는 브라우저 정의 파일을 포함합니다.
- App_Data 폴더 : Microsoft Access 데이터베이스(.mdb 파일), XML 파일, 로컬 파일에 저장된 기타 데이터 등을 포함합니다. 응용 프로그램을 실행하는 데 사용되는 사용자 계정(예: 로컬 ASPNET 계정)에는 이 폴더에 대해 파일을 읽거나 쓰고 만들 수 있는 권한이 부여됩니다. 웹 사이트 관리 도구와 다양한 ASP.NET 응용 프로그램 기능(예: 멤버 자격 및 역할에 대한 공급자)은 App_Data 폴더에만 사용되도록 구성되었습니다.
Bin 폴더이전 버전의 Visual Studio와 마찬가지로 컴파일 된 코드를 포함합니다. Bin 폴더의 코드가 나타내는 클래스는 웹 사이트에서 자동으로 참조됩니다. 자세한 내용은 ASP.NET 웹 사이트의 공유 코드 폴더를 참조하십시오.
- App_LocalResources 폴더 : 특정 페이지에 바인딩 된 .resx 파일을 포함합니다. 각각 다른 언어 또는 언어/culture 조합을 나타내는 .resx 파일을 각 페이지에 여러 개 정의할 수 있습니다. 자세한 내용은 리소스를 사용하여 ASP.NET 웹 페이지 지역화 및 방법: ASP.NET 웹 사이트의 리소스 파일 만들기(Visual Studio)를 참조하십시오.
- App_GlobalResource 폴더 : App_LocalResources 폴더와 비슷하지만 특정 페이지에 바인딩되지 않은 .resx 파일을 포함합니다. App_GlobalResource 폴더에 있는 .resx 파일의 리소스 값은 응용 프로그램 코드에서 프로그래밍 방식을 통해 액세스할 수 있습니다.
- App_Code 폴더 : 소스 코드 파일을 포함합니다. 소스 코드는 응용 프로그램의 일부로 컴파일되고 자동으로 참조됩니다. App_Code 폴더는 Bin 폴더와 매우 비슷하지만 컴파일된 코드 대신 소스 코드를 저장할 수 있다는 점이 다릅니다. Visual Web Developer에서 작업하는 동안 IntelliSense에서 파일에 정의된 클래스를 참조할 수 있도록 App_Code 폴더의 소스 코드가 동적으로 컴파일됩니다. 자세한 내용은 ASP.NET 웹 사이트의 공유 코드 폴더를 참조하십시오.
- App_Themes 폴더 : ASP.NET 웹 페이지와 컨트롤의 모양을 정의하는 파일 컬렉션을 포함합니다. 자세한 내용은 ASP.NET 테마 및 스킨 개요를 참조하십시오.
- App_Browsers 폴더 : 브라우저 기능을 정의하는 .browser 파일을 포함합니다.
- App_WebReferences 폴더 : 같은 프로젝트 또는 프로젝트 외부에서 웹 서비스에 대한 참조를 만드는 데 사용되는 파일을 포함합니다(예: .disco 및 .wsdl 파일). 자세한 내용은 How to: Add a Reference to a Web Service to a Web Site를 참조하십시오.
'.NET > ASP.NET' 카테고리의 다른 글
| ASP.NET - ICallback을 이용한 JSON 기반의 Javascript Serialization (0) | 2010/04/15 |
|---|---|
| web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA (0) | 2010/04/12 |
| ASP.NET Layout 각 폴더 별 설명 (0) | 2010/04/05 |
| ASP.NET 2.0 AJAX - UpdateProgress (0) | 2009/10/11 |
| A .NET library for OpenFlashChart control (0) | 2009/03/29 |
| iTunes Data Grid Skin for ASP.NET GridView, ListView Control (0) | 2009/02/02 |
일반적으로 Visual Studio의 Process Attach를 이용해서 Windows Service를 디버깅하지요.
코드에 아래와 같이 디버그 모드 일 때 Debugger 선택 화면을 보도록 할 수 있습니다.
#if DEBUG
System.Diagnostics.Debugger.Launch();
#endif
참~ 쉽죠잉~
자세한 내용은 아래 링크를 확인해보세요~
http://weblogs.asp.net/paulballard/archive/2005/07/12/419175.aspx
'.NET > C#' 카테고리의 다른 글
| Windows Service Debugging (0) | 2009/10/21 |
|---|---|
| Unicode 한글 코드 표 (0) | 2009/09/27 |
| C# : Unit Class - File Size (0) | 2009/05/14 |
| Memory usage of current thread on C# windows form app. (0) | 2009/04/23 |
| C# : TextBox Auto Scrolling (2) | 2009/04/20 |
| Better string.IsNullOrEmpty() ? How to do C#.NET 3.0 (0) | 2009/04/14 |
– 이곳에 (http://www.mari.kr/tag/UpdateProgress) UpdatePanel과 같이 사용하는 UpdateProgress 컨트롤에 대한 설명이 정말 잘 되 있더군요.
아래 코드는 위 사이트에서 가져온 내용인데
정말 잘 분석해두셨네요 ㅎㅎ
나중에도 잘 쓸 코드 같습니다.
<asp:UpdateProgress ID="listViewUpdateProgress" AssociatedUpdatePanelID="listViewUpdatePanel" runat="server" DisplayAfter="50">
<ProgressTemplate>
<style type="text/css">
#UpdateProgressTable {
position:absolute;
z-index:100;
top:0px;
margin:0px;
left:0px;
background-color:#FAFAFA;
border-width:0px;
border-style:None;
font-family:"돋움";
filter:progid:DXImageTransform.Microsoft.Shadow(color=#ffffff, Direction=0, Strength=0)alpha(Opacity=60);
}
</style>
<script type="text/javascript">
function UpdateProgressInit() {
var progress = $get("UpdateProgressTable");
if (typeof (progress) == "object") {
progress.style.width = getClientBounds().width;
progress.style.height = getClientBounds().height;
}
}
function CancelAsyncPostBack() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm.get_isInAsyncPostBack()) {
prm.abortPostBack();
}
}
function getClientBounds() {
var clientWidth;
var clientHeight;
switch (Sys.Browser.agent) {
case Sys.Browser.InternetExplorer:
clientWidth = document.documentElement.clientWidth;
clientHeight = document.documentElement.clientHeight;
break;
case Sys.Browser.Safari:
clientWidth = window.innerWidth;
clientHeight = window.innerHeight;
break;
case Sys.Browser.Opera:
clientWidth = Math.min(window.innerWidth, document.body.clientWidth);
clientHeight = Math.min(window.innerHeight, document.body.clientHeight);
break;
default: // Sys.Browser.Firefox, etc.
clientWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);
clientHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);
break;
}
returnnewSys.UI.Bounds(0, 0, clientWidth, clientHeight);
}
</script>
<table align="left" id="UpdateProgressTable">
<tr>
<td align="center">
<br/>페이지 변경 중 입니다...
<br/>
<input id="Button2" type="button" value="취소" onclick="CancelAsyncPostBack()" />
</td>
</tr>
</table>
</ProgressTemplate>
</asp:UpdateProgress>
'.NET > ASP.NET' 카테고리의 다른 글
| web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA (0) | 2010/04/12 |
|---|---|
| ASP.NET Layout 각 폴더 별 설명 (0) | 2010/04/05 |
| ASP.NET 2.0 AJAX - UpdateProgress (0) | 2009/10/11 |
| A .NET library for OpenFlashChart control (0) | 2009/03/29 |
| iTunes Data Grid Skin for ASP.NET GridView, ListView Control (0) | 2009/02/02 |
| Apache Mod_Rewrite use as URL_Rewrite in iis 7 (0) | 2009/01/21 |
Trackback : http://i-ruru.com/trackback/511
-
Subject JIXmall :: ajax
2009/11/24 09:20
JIXmall :: ajax에 대한 정보입니다.
http://www.sql-und-xml.de/unicode-database/hangul-compatibility-jamo.html
가끔은…
이런 것이 필요하답니다. –_ –;;
필요 없으신 분은 패스~?
Hangul Compatibility Jamo - Block: 3130 - 318F
|
Symbol |
Entity-Code |
Codepunkt |
Name |
Kategorie |
NET |
Version |
Bidi |
|
ㄱ |
ㄱ |
12593 |
HANGUL LETTER KIYEOK |
Y |
2.1 |
L | |
|
ㄲ |
ㄲ |
12594 |
HANGUL LETTER SSANGKIYEOK |
Y |
2.1 |
L | |
|
ㄳ |
ㄳ |
12595 |
HANGUL LETTER KIYEOK-SIOS |
Y |
2.1 |
L | |
|
ㄴ |
ㄴ |
12596 |
HANGUL LETTER NIEUN |
Y |
2.1 |
L | |
|
ㄵ |
ㄵ |
12597 |
HANGUL LETTER NIEUN-CIEUC |
Y |
2.1 |
L | |
|
ㄶ |
ㄶ |
12598 |
HANGUL LETTER NIEUN-HIEUH |
Y |
2.1 |
L | |
|
ㄷ |
ㄷ |
12599 |
HANGUL LETTER TIKEUT |
Y |
2.1 |
L | |
|
ㄸ |
ㄸ |
12600 |
HANGUL LETTER SSANGTIKEUT |
Y |
2.1 |
L | |
|
ㄹ |
ㄹ |
12601 |
HANGUL LETTER RIEUL |
Y |
2.1 |
L | |
|
ㄺ |
ㄺ |
12602 |
HANGUL LETTER RIEUL-KIYEOK |
Y |
2.1 |
L | |
|
ㄻ |
ㄻ |
12603 |
HANGUL LETTER RIEUL-MIEUM |
Y |
2.1 |
L | |
|
ㄼ |
ㄼ |
12604 |
HANGUL LETTER RIEUL-PIEUP |
Y |
2.1 |
L | |
|
ㄽ |
ㄽ |
12605 |
HANGUL LETTER RIEUL-SIOS |
Y |
2.1 |
L | |
|
ㄾ |
ㄾ |
12606 |
HANGUL LETTER RIEUL-THIEUTH |
Y |
2.1 |
L | |
|
ㄿ |
ㄿ |
12607 |
HANGUL LETTER RIEUL-PHIEUPH |
Y |
2.1 |
L | |
|
ㅀ |
ㅀ |
12608 |
HANGUL LETTER RIEUL-HIEUH |
Y |
2.1 |
L | |
|
ㅁ |
ㅁ |
12609 |
HANGUL LETTER MIEUM |
Y |
2.1 |
L | |
|
ㅂ |
ㅂ |
12610 |
HANGUL LETTER PIEUP |
Y |
2.1 |
L | |
|
ㅃ |
ㅃ |
12611 |
HANGUL LETTER SSANGPIEUP |
Y |
2.1 |
L | |
|
ㅄ |
ㅄ |
12612 |
HANGUL LETTER PIEUP-SIOS |
Y |
2.1 |
L | |
|
ㅅ |
ㅅ |
12613 |
HANGUL LETTER SIOS |
Y |
2.1 |
L | |
|
ㅆ |
ㅆ |
12614 |
HANGUL LETTER SSANGSIOS |
Y |
2.1 |
L | |
|
ㅇ |
ㅇ |
12615 |
HANGUL LETTER IEUNG |
Y |
2.1 |
L | |
|
ㅈ |
ㅈ |
12616 |
HANGUL LETTER CIEUC |
Y |
2.1 |
L | |
|
ㅉ |
ㅉ |
12617 |
HANGUL LETTER SSANGCIEUC |
Y |
2.1 |
L | |
|
ㅊ |
ㅊ |
12618 |
HANGUL LETTER CHIEUCH |
Y |
2.1 |
L | |
|
ㅋ |
ㅋ |
12619 |
HANGUL LETTER KHIEUKH |
Y |
2.1 |
L | |
|
ㅌ |
ㅌ |
12620 |
HANGUL LETTER THIEUTH |
Y |
2.1 |
L | |
|
ㅍ |
ㅍ |
12621 |
HANGUL LETTER PHIEUPH |
Y |
2.1 |
L | |
|
ㅎ |
ㅎ |
12622 |
HANGUL LETTER HIEUH |
Y |
2.1 |
L | |
|
ㅏ |
ㅏ |
12623 |
HANGUL LETTER A |
Y |
2.1 |
L | |
|
ㅐ |
ㅐ |
12624 |
HANGUL LETTER AE |
Y |
2.1 |
L | |
|
ㅑ |
ㅑ |
12625 |
HANGUL LETTER YA |
Y |
2.1 |
L | |
|
ㅒ |
ㅒ |
12626 |
HANGUL LETTER YAE |
Y |
2.1 |
L | |
|
ㅓ |
ㅓ |
12627 |
HANGUL LETTER EO |
Y |
2.1 |
L | |
|
ㅔ |
ㅔ |
12628 |
HANGUL LETTER E |
Y |
2.1 |
L | |
|
ㅕ |
ㅕ |
12629 |
HANGUL LETTER YEO |
Y |
2.1 |
L | |
|
ㅖ |
ㅖ |
12630 |
HANGUL LETTER YE |
Y |
2.1 |
L | |
|
ㅗ |
ㅗ |
12631 |
HANGUL LETTER O |
Y |
2.1 |
L | |
|
ㅘ |
ㅘ |
12632 |
HANGUL LETTER WA |
Y |
2.1 |
L | |
|
ㅙ |
ㅙ |
12633 |
HANGUL LETTER WAE |
Y |
2.1 |
L | |
|
ㅚ |
ㅚ |
12634 |
HANGUL LETTER OE |
Y |
2.1 |
L | |
|
ㅛ |
ㅛ |
12635 |
HANGUL LETTER YO |
Y |
2.1 |
L | |
|
ㅜ |
ㅜ |
12636 |
HANGUL LETTER U |
Y |
2.1 |
L | |
|
ㅝ |
ㅝ |
12637 |
HANGUL LETTER WEO |
Y |
2.1 |
L | |
|
ㅞ |
ㅞ |
12638 |
HANGUL LETTER WE |
Y |
2.1 |
L | |
|
ㅟ |
ㅟ |
12639 |
HANGUL LETTER WI |
Y |
2.1 |
L | |
|
ㅠ |
ㅠ |
12640 |
HANGUL LETTER YU |
Y |
2.1 |
L | |
|
ㅡ |
ㅡ |
12641 |
HANGUL LETTER EU |
Y |
2.1 |
L | |
|
ㅢ |
ㅢ |
12642 |
HANGUL LETTER YI |
Y |
2.1 |
L | |
|
ㅣ |
ㅣ |
12643 |
HANGUL LETTER I |
Y |
2.1 |
L | |
|
ㅤ |
ㅤ |
12644 |
HANGUL FILLER |
Y |
2.1 |
L | |
|
ㅥ |
ㅥ |
12645 |
HANGUL LETTER SSANGNIEUN |
Y |
2.1 |
L | |
|
ㅦ |
ㅦ |
12646 |
HANGUL LETTER NIEUN-TIKEUT |
Y |
2.1 |
L | |
|
ㅧ |
ㅧ |
12647 |
HANGUL LETTER NIEUN-SIOS |
Y |
2.1 |
L | |
|
ㅨ |
ㅨ |
12648 |
HANGUL LETTER NIEUN-PANSIOS |
Y |
2.1 |
L | |
|
ㅩ |
ㅩ |
12649 |
HANGUL LETTER RIEUL-KIYEOK-SIOS |
Y |
2.1 |
L | |
|
ㅪ |
ㅪ |
12650 |
HANGUL LETTER RIEUL-TIKEUT |
Y |
2.1 |
L | |
|
ㅫ |
ㅫ |
12651 |
HANGUL LETTER RIEUL-PIEUP-SIOS |
Y |
2.1 |
L | |
|
ㅬ |
ㅬ |
12652 |
HANGUL LETTER RIEUL-PANSIOS |
Y |
2.1 |
L | |
|
ㅭ |
ㅭ |
12653 |
HANGUL LETTER RIEUL-YEORINHIEUH |
Y |
2.1 |
L | |
|
ㅮ |
ㅮ |
12654 |
HANGUL LETTER MIEUM-PIEUP |
Y |
2.1 |
L | |
|
ㅯ |
ㅯ |
12655 |
HANGUL LETTER MIEUM-SIOS |
Y |
2.1 |
L | |
|
ㅰ |
ㅰ |
12656 |
HANGUL LETTER MIEUM-PANSIOS |
Y |
2.1 |
L | |
|
ㅱ |
ㅱ |
12657 |
HANGUL LETTER KAPYEOUNMIEUM |
Y |
2.1 |
L | |
|
ㅲ |
ㅲ |
12658 |
HANGUL LETTER PIEUP-KIYEOK |
Y |
2.1 |
L | |
|
ㅳ |
ㅳ |
12659 |
HANGUL LETTER PIEUP-TIKEUT |
Y |
2.1 |
L | |
|
ㅴ |
ㅴ |
12660 |
HANGUL LETTER PIEUP-SIOS-KIYEOK |
Y |
2.1 |
L | |
|
ㅵ |
ㅵ |
12661 |
HANGUL LETTER PIEUP-SIOS-TIKEUT |
Y |
2.1 |
L | |
|
ㅶ |
ㅶ |
12662 |
HANGUL LETTER PIEUP-CIEUC |
Y |
2.1 |
L | |
|
ㅷ |
ㅷ |
12663 |
HANGUL LETTER PIEUP-THIEUTH |
Y |
2.1 |
L | |
|
ㅸ |
ㅸ |
12664 |
HANGUL LETTER KAPYEOUNPIEUP |
Y |
2.1 |
L | |
|
ㅹ |
ㅹ |
12665 |
HANGUL LETTER KAPYEOUNSSANGPIEUP |
Y |
2.1 |
L | |
|
ㅺ |
ㅺ |
12666 |
HANGUL LETTER SIOS-KIYEOK |
Y |
2.1 |
L | |
|
ㅻ |
ㅻ |
12667 |
HANGUL LETTER SIOS-NIEUN |
Y |
2.1 |
L | |
|
ㅼ |
ㅼ |
12668 |
HANGUL LETTER SIOS-TIKEUT |
Y |
2.1 |
L | |
|
ㅽ |
ㅽ |
12669 |
HANGUL LETTER SIOS-PIEUP |
Y |
2.1 |
L | |
|
ㅾ |
ㅾ |
12670 |
HANGUL LETTER SIOS-CIEUC |
Y |
2.1 |
L | |
|
ㅿ |
ㅿ |
12671 |
HANGUL LETTER PANSIOS |
Y |
2.1 |
L | |
|
ㆀ |
ㆀ |
12672 |
HANGUL LETTER SSANGIEUNG |
Y |
2.1 |
L | |
|
ㆁ |
ㆁ |
12673 |
HANGUL LETTER YESIEUNG |
Y |
2.1 |
L | |
|
ㆂ |
ㆂ |
12674 |
HANGUL LETTER YESIEUNG-SIOS |
Y |
2.1 |
L | |
|
ㆃ |
ㆃ |
12675 |
HANGUL LETTER YESIEUNG-PANSIOS |
Y |
2.1 |
L | |
|
ㆄ |
ㆄ |
12676 |
HANGUL LETTER KAPYEOUNPHIEUPH |
Y |
2.1 |
L | |
|
ㆅ |
ㆅ |
12677 |
HANGUL LETTER SSANGHIEUH |
Y |
2.1 |
L | |
|
ㆆ |
ㆆ |
12678 |
HANGUL LETTER YEORINHIEUH |
Y |
2.1 |
L | |
|
ㆇ |
ㆇ |
12679 |
HANGUL LETTER YO-YA |
Y |
2.1 |
L | |
|
ㆈ |
ㆈ |
12680 |
HANGUL LETTER YO-YAE |
Y |
2.1 |
L | |
|
ㆉ |
ㆉ |
12681 |
HANGUL LETTER YO-I |
Y |
2.1 |
L | |
|
ㆊ |
ㆊ |
12682 |
HANGUL LETTER YU-YEO |
Y |
2.1 |
L | |
|
ㆋ |
ㆋ |
12683 |
HANGUL LETTER YU-YE |
Y |
2.1 |
L | |
|
ㆌ |
ㆌ |
12684 |
HANGUL LETTER YU-I |
Y |
2.1 |
L | |
|
ㆍ |
ㆍ |
12685 |
HANGUL LETTER ARAEA |
Y |
2.1 |
L | |
|
ㆎ |
ㆎ |
12686 |
HANGUL LETTER ARAEAE |
Y |
2.1 |
L |
Statistik für den Unicode-Block Hangul Compatibility Jamo
|
C-Id |
C-Name |
Anzahl |
Quote |
|
Lo |
94 |
100 % | |
|
1 Kategorie |
∑ 94 |
|
Version |
Anzahl |
Quote |
|
2.1 |
94 |
100 % |
|
3.0 |
0 |
0 % |
|
3.1 |
0 |
0 % |
|
3.2 |
0 |
0 % |
|
4.0 |
0 |
0 % |
© 2003-2009 Jürgen Auer, Berlin
'.NET > C#' 카테고리의 다른 글
| Windows Service Debugging (0) | 2009/10/21 |
|---|---|
| Unicode 한글 코드 표 (0) | 2009/09/27 |
| C# : Unit Class - File Size (0) | 2009/05/14 |
| Memory usage of current thread on C# windows form app. (0) | 2009/04/23 |
| C# : TextBox Auto Scrolling (2) | 2009/04/20 |
| Better string.IsNullOrEmpty() ? How to do C#.NET 3.0 (0) | 2009/04/14 |
Silverlight는 애니메이션을 위해 Storyboard를 사용한다.
뭐 Flash와 같은 다른 app.도 마찬가지겠지만 시간에 따라 벡터의 변화를 처리하는 방식이다.
이번 내용은 에제는 포함하지 않겠지만 팁에 해당하는 StoryBoard의 특성값들에 대해 알아본다.
<Storyboard x:Name="TestStoryBoard" FillBehavior="Stop">
애니메이션이 완료 되었을 때 동작을 지정한다.
- HoldEnd(기본값) : 완료 후 오브젝트의 상태 그대로 유지
- Stop : 완료 후 초기 위치로 복원
<Storyboard x:Name="TestStoryBoard" AutoReverse="True">
재생이 완료 되었을 때 원자리로 역 애니메이션으로 돌아온다.
<Storyboard x:Name="TestStoryBoard" SpeedRatio="5.0">
배율로 속도를 지정한다. 위와 같은 경우 평상 속도의 5배로 재생된다.
<Storyboard x:Name="TestStoryBoard" RepeatBehavior="3x">
3회 반복한다. #x를 지정하면 재생 횟수를 지정할 수 있다.
<Storyboard x:Name="TestStoryBoard" RepeatBehavior="Forever">
무한 반복한다.
<Storyboard x:Name="TestStoryBoard" RepeatBehavior="00:00:05.5">
시간을 설정하여 얼마간 재생할지 결정한다.
위 설정은 5.5초
'.NET > Silverlight' 카테고리의 다른 글
| Silverlight - Animation (0) | 2009/07/21 |
|---|---|
| Silverlight - Media Player Sample (2) | 2009/07/20 |
| Silverlight + Expression = Visual Kitchen (0) | 2009/07/16 |
| Silverlight - Network Sample 2 (0) | 2009/07/15 |
| Silverlight - Network Example 1 (0) | 2009/07/13 |
| Silverlight – Custom control (0) | 2009/07/03 |
자료제공 : http://hugeflow.com/
예제소스 :
3-3.WebClientMediaTest.zip |
Silverlight 에서는 정말 쉽게 미디어 플레이어를 만들 수 있는 것 같다.
먼저 silverlight 프로젝트를 하나 만들고, Page.xaml을 blend로 열어준다.
blend에서 asset에 MediaControl 하나를 올려주고 버튼들을 올려 간단히 media 재생에 대한 내용을 작성해보자.
먼저 xaml
<UserControl x:Class="WebClientMediaTest.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="478" d:DesignHeight="337">
<Grid x:Name="LayoutRoot" Background="White">
<MediaElement Margin="0.39,0,-0.39,37" Source="http://hugeflow.com/Metro/Video/pigmap.wmv" x:Name="media"/>
<StackPanel Height="33" Margin="0.39,0,0,0" VerticalAlignment="Bottom" Orientation="Horizontal">
<Button Content="Play" Width="82.333" x:Name="btnPlay" Click="btnPlay_Click"/>
<Button Content="Pause" Width="82.333" x:Name="btnPause" Click="btnPause_Click"/>
<Button Content="Stop" Width="82.333" x:Name="btnStop" Click="btnStop_Click"/>
<Slider Width="216" x:Name="slideVolume" ValueChanged="slideVolume_ValueChanged"/>
</StackPanel>
</Grid>
</UserControl>
다음은 C# 코드
다른 코드들 보다 어쩌먼 정말 간단한 코드같다 -_ -;;using System.Windows;
using System.Windows.Controls;namespace WebClientMediaTest
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();Loaded += new RoutedEventHandler(Page_Loaded);
}void Page_Loaded(object sender, RoutedEventArgs e)
{
slideVolume.Value = slideVolume.Maximum * media.Volume;
}private void btnPlay_Click(object sender, RoutedEventArgs e)
{
media.Play();
}private void btnPause_Click(object sender, RoutedEventArgs e)
{
media.Pause();
}private void btnStop_Click(object sender, RoutedEventArgs e)
{
media.Stop();
}private void slideVolume_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
media.Volume = slideVolume.Value / slideVolume.Maximum;
}
}
}
별다른 기법도 없고, 단지 컨트롤 에서 제공하는 간단한 산수만 한다면 사용할 수 있는..
'.NET > Silverlight' 카테고리의 다른 글
| Silverlight - Animation (0) | 2009/07/21 |
|---|---|
| Silverlight - Media Player Sample (2) | 2009/07/20 |
| Silverlight + Expression = Visual Kitchen (0) | 2009/07/16 |
| Silverlight - Network Sample 2 (0) | 2009/07/15 |
| Silverlight - Network Example 1 (0) | 2009/07/13 |
| Silverlight – Custom control (0) | 2009/07/03 |
http://www.microsoft.com/silverlight/seethelight/
Silverlight 3와 함께 또 흥미로운 녀식이 있었네요.
http://www.microsoft.com/silverlight/seethelight/visualkitchen/default.htm
위 영상을 한번 보세요 ^ ^
'.NET > Silverlight' 카테고리의 다른 글
| Silverlight - Animation (0) | 2009/07/21 |
|---|---|
| Silverlight - Media Player Sample (2) | 2009/07/20 |
| Silverlight + Expression = Visual Kitchen (0) | 2009/07/16 |
| Silverlight - Network Sample 2 (0) | 2009/07/15 |
| Silverlight - Network Example 1 (0) | 2009/07/13 |
| Silverlight – Custom control (0) | 2009/07/03 |
자료제공 : http://hugeflow.com/
2009/04/30 - [.NET/SilverLight] - Silverlight - Network
2009/04/30 - [.NET/SilverLight] - Silverlight - Network Example 1
예제코드 :
3-2.WebServiceTest.zip |
이번에는 이전 내용과 마찬가지이지만 직접 가져오지 않고 웹 서비스를 만들어 데이터를 가져오도록 한다.
먼저 웹서비스의 내용에
/// <summary>
/// WebServiceTest의 요약 설명입니다.
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// ASP.NET AJAX를 사용하여 스크립트에서 이 웹 서비스를 호출하려면 다음 줄의 주석 처리를 제거합니다.
// [System.Web.Script.Services.ScriptService]
public class WebServiceTest : System.Web.Services.WebService
{[WebMethod]
public string HelloWorld()
{
return "Hello World";
}[WebMethod]
public string GetHtml(string address)
{
WebClient wc = new WebClient();
return wc.DownloadString(new Uri(address, UriKind.Absolute));
}
}
다음과 같은 내용을 작성하고,
만약 인코딩 문제로 문자가 깨지는 현상이 발생하면
다음과 같은 코드를 추가해준다.
wc.Encoding = System.Text.Encoding.UTF8;
Silverlight에서는 웹서비스 참조로 위 웹서비스를 추가해준다.
그리고 실버라이트의 Page에 코드를 작성한다..
먼저 Page.xaml 코드
<UserControl x:Class="WebServiceTest.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="485" d:DesignHeight="377">
<Grid x:Name="LayoutRoot" Background="White">
<TextBox Height="47" Margin="8,8,100,0" VerticalAlignment="Top" Text="http://hugeflow.com/sample.xml" TextWrapping="Wrap" x:Name="tboxAddress"/>
<Button HorizontalAlignment="Right" Margin="0,8,8.192,0" VerticalAlignment="Top" Content="Get" Width="88" Height="47" x:Name="buttonGet" Click="buttonGet_Click"/>
<TextBlock Margin="8,59,8,8" Text="" TextWrapping="Wrap" x:Name="tbOutput"/>
</Grid>
</UserControl>
C# 코드
using System;
using System.Windows;
using System.Windows.Controls;namespace WebServiceTest
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
}private void buttonGet_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(tboxAddress.Text) == true)
{
return;
}try
{
WebServiceTest.ServiceReference1.WebServiceTestSoapClient wsclient = new WebServiceTest.ServiceReference1.WebServiceTestSoapClient();
wsclient.GetHtmlCompleted += new EventHandler<WebServiceTest.ServiceReference1.GetHtmlCompletedEventArgs>(wsclient_GetHtmlCompleted);
wsclient.GetHtmlAsync(tboxAddress.Text);
}
catch (Exception ex)
{
tbOutput.Text = ex.Message;
}
}void wsclient_GetHtmlCompleted(object sender, WebServiceTest.ServiceReference1.GetHtmlCompletedEventArgs e)
{
if (e.Cancelled == true)
{
tbOutput.Text = "취소되었습니다.";
return;
}if (e.Error != null)
{
if (string.IsNullOrEmpty(e.Error.Message) == false)
{
tbOutput.Text = e.Error.Message;
}
else
{
tbOutput.Text = e.Error.ToString();
}
return;
}tbOutput.Text = e.Result;
}
}
}
이전 예제와 대부분이 비슷한 것을 알 수 있다.
그냥 웹서비스 호출하도로 바꾼내용이니.. ㅎㅎ
'.NET > Silverlight' 카테고리의 다른 글
| Silverlight - Media Player Sample (2) | 2009/07/20 |
|---|---|
| Silverlight + Expression = Visual Kitchen (0) | 2009/07/16 |
| Silverlight - Network Sample 2 (0) | 2009/07/15 |
| Silverlight - Network Example 1 (0) | 2009/07/13 |
| Silverlight – Custom control (0) | 2009/07/03 |
| Silverlight Custom control (0) | 2009/06/23 |
JSON_ICallbackEventHandler.zip


Prev




