'.NET'에 해당되는 글 101건

  1. 2010/04/15 ASP.NET - ICallback을 이용한 JSON 기반의 Javascript Serialization
  2. 2010/04/12 web.config 암호화 - Encrypt Configuration Sections in ASP.NET 2.0 Using RSA
  3. 2010/04/05 ASP.NET Layout 각 폴더 별 설명
  4. 2009/10/21 Windows Service Debugging
  5. 2009/10/11 ASP.NET 2.0 AJAX - UpdateProgress
  6. 2009/09/27 Unicode 한글 코드 표
  7. 2009/07/21 Silverlight - Animation
  8. 2009/07/20 Silverlight - Media Player Sample (2)
  9. 2009/07/16 Silverlight + Expression = Visual Kitchen
  10. 2009/07/15 Silverlight - Network Sample 2
2010/04/15 19:30

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 되지 않고 데이터 처리하는 내용으로 아주 좋은 활용이 되겠네요 ^ ^





저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/567 관련글 쓰기

2010/04/12 18:03

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

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/558 관련글 쓰기

2010/04/05 19:40

ASP.NET Layout 각 폴더 별 설명

 
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를 참조하십시오.



 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/557 관련글 쓰기

2009/10/21 11:49

Windows Service Debugging



일반적으로 Visual Studio의 Process Attach를 이용해서 Windows Service를 디버깅하지요.

코드에 아래와 같이 디버그 모드 일 때 Debugger 선택 화면을 보도록 할 수 있습니다.
 

#if DEBUG

      System.Diagnostics.Debugger.Launch();

#endif 


위 코드를 OnStart() 메소드에 넣어주시면 될 것 같네요.


참~ 쉽죠잉~


자세한 내용은 아래 링크를 확인해보세요~

http://weblogs.asp.net/paulballard/archive/2005/07/12/419175.aspx

저작자 표시 비영리 변경 금지
이 장소를 Daum지도에서 확인해보세요.
서울특별시 마포구 상암동 | KBS미디어센터 한국해양수산개발원
도움말 Daum 지도
크리에이티브 커먼즈 라이선스
Creative Commons License

'.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
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/527 관련글 쓰기

2009/10/11 23:23

ASP.NET 2.0 AJAX - UpdateProgress

 

 &ndash; 이곳에 (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>

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 1 Comment 0

Trackback : http://i-ruru.com/trackback/511 관련글 쓰기

  1. Subject JIXmall :: ajax

    Tracked from JIXmall.com 2009/11/24 09:20 delete

    JIXmall :: ajax에 대한 정보입니다.

2009/09/27 01:26

Unicode 한글 코드 표

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

&#x3131;

12593

HANGUL LETTER KIYEOK

Lo

Y

2.1

L

&#x3132;

12594

HANGUL LETTER SSANGKIYEOK

Lo

Y

2.1

L

&#x3133;

12595

HANGUL LETTER KIYEOK-SIOS

Lo

Y

2.1

L

&#x3134;

12596

HANGUL LETTER NIEUN

Lo

Y

2.1

L

&#x3135;

12597

HANGUL LETTER NIEUN-CIEUC

Lo

Y

2.1

L

&#x3136;

12598

HANGUL LETTER NIEUN-HIEUH

Lo

Y

2.1

L

&#x3137;

12599

HANGUL LETTER TIKEUT

Lo

Y

2.1

L

&#x3138;

12600

HANGUL LETTER SSANGTIKEUT

Lo

Y

2.1

L

&#x3139;

12601

HANGUL LETTER RIEUL

Lo

Y

2.1

L

&#x313A;

12602

HANGUL LETTER RIEUL-KIYEOK

Lo

Y

2.1

L

&#x313B;

12603

HANGUL LETTER RIEUL-MIEUM

Lo

Y

2.1

L

&#x313C;

12604

HANGUL LETTER RIEUL-PIEUP

Lo

Y

2.1

L

&#x313D;

12605

HANGUL LETTER RIEUL-SIOS

Lo

Y

2.1

L

&#x313E;

12606

HANGUL LETTER RIEUL-THIEUTH

Lo

Y

2.1

L

&#x313F;

12607

HANGUL LETTER RIEUL-PHIEUPH

Lo

Y

2.1

L

&#x3140;

12608

HANGUL LETTER RIEUL-HIEUH

Lo

Y

2.1

L

&#x3141;

12609

HANGUL LETTER MIEUM

Lo

Y

2.1

L

&#x3142;

12610

HANGUL LETTER PIEUP

Lo

Y

2.1

L

&#x3143;

12611

HANGUL LETTER SSANGPIEUP

Lo

Y

2.1

L

&#x3144;

12612

HANGUL LETTER PIEUP-SIOS

Lo

Y

2.1

L

&#x3145;

12613

HANGUL LETTER SIOS

Lo

Y

2.1

L

&#x3146;

12614

HANGUL LETTER SSANGSIOS

Lo

Y

2.1

L

&#x3147;

12615

HANGUL LETTER IEUNG

Lo

Y

2.1

L

&#x3148;

12616

HANGUL LETTER CIEUC

Lo

Y

2.1

L

&#x3149;

12617

HANGUL LETTER SSANGCIEUC

Lo

Y

2.1

L

&#x314A;

12618

HANGUL LETTER CHIEUCH

Lo

Y

2.1

L

&#x314B;

12619

HANGUL LETTER KHIEUKH

Lo

Y

2.1

L

&#x314C;

12620

HANGUL LETTER THIEUTH

Lo

Y

2.1

L

&#x314D;

12621

HANGUL LETTER PHIEUPH

Lo

Y

2.1

L

&#x314E;

12622

HANGUL LETTER HIEUH

Lo

Y

2.1

L

&#x314F;

12623

HANGUL LETTER A

Lo

Y

2.1

L

&#x3150;

12624

HANGUL LETTER AE

Lo

Y

2.1

L

&#x3151;

12625

HANGUL LETTER YA

Lo

Y

2.1

L

&#x3152;

12626

HANGUL LETTER YAE

Lo

Y

2.1

L

&#x3153;

12627

HANGUL LETTER EO

Lo

Y

2.1

L

&#x3154;

12628

HANGUL LETTER E

Lo

Y

2.1

L

&#x3155;

12629

HANGUL LETTER YEO

Lo

Y

2.1

L

&#x3156;

12630

HANGUL LETTER YE

Lo

Y

2.1

L

&#x3157;

12631

HANGUL LETTER O

Lo

Y

2.1

L

&#x3158;

12632

HANGUL LETTER WA

Lo

Y

2.1

L

&#x3159;

12633

HANGUL LETTER WAE

Lo

Y

2.1

L

&#x315A;

12634

HANGUL LETTER OE

Lo

Y

2.1

L

&#x315B;

12635

HANGUL LETTER YO

Lo

Y

2.1

L

&#x315C;

12636

HANGUL LETTER U

Lo

Y

2.1

L

&#x315D;

12637

HANGUL LETTER WEO

Lo

Y

2.1

L

&#x315E;

12638

HANGUL LETTER WE

Lo

Y

2.1

L

&#x315F;

12639

HANGUL LETTER WI

Lo

Y

2.1

L

&#x3160;

12640

HANGUL LETTER YU

Lo

Y

2.1

L

&#x3161;

12641

HANGUL LETTER EU

Lo

Y

2.1

L

&#x3162;

12642

HANGUL LETTER YI

Lo

Y

2.1

L

&#x3163;

12643

HANGUL LETTER I

Lo

Y

2.1

L

&#x3164;

12644

HANGUL FILLER

Lo

Y

2.1

L

&#x3165;

12645

HANGUL LETTER SSANGNIEUN

Lo

Y

2.1

L

&#x3166;

12646

HANGUL LETTER NIEUN-TIKEUT

Lo

Y

2.1

L

&#x3167;

12647

HANGUL LETTER NIEUN-SIOS

Lo

Y

2.1

L

&#x3168;

12648

HANGUL LETTER NIEUN-PANSIOS

Lo

Y

2.1

L

&#x3169;

12649

HANGUL LETTER RIEUL-KIYEOK-SIOS

Lo

Y

2.1

L

&#x316A;

12650

HANGUL LETTER RIEUL-TIKEUT

Lo

Y

2.1

L

&#x316B;

12651

HANGUL LETTER RIEUL-PIEUP-SIOS

Lo

Y

2.1

L

&#x316C;

12652

HANGUL LETTER RIEUL-PANSIOS

Lo

Y

2.1

L

&#x316D;

12653

HANGUL LETTER RIEUL-YEORINHIEUH

Lo

Y

2.1

L

&#x316E;

12654

HANGUL LETTER MIEUM-PIEUP

Lo

Y

2.1

L

&#x316F;

12655

HANGUL LETTER MIEUM-SIOS

Lo

Y

2.1

L

&#x3170;

12656

HANGUL LETTER MIEUM-PANSIOS

Lo

Y

2.1

L

&#x3171;

12657

HANGUL LETTER KAPYEOUNMIEUM

Lo

Y

2.1

L

&#x3172;

12658

HANGUL LETTER PIEUP-KIYEOK

Lo

Y

2.1

L

&#x3173;

12659

HANGUL LETTER PIEUP-TIKEUT

Lo

Y

2.1

L

&#x3174;

12660

HANGUL LETTER PIEUP-SIOS-KIYEOK

Lo

Y

2.1

L

&#x3175;

12661

HANGUL LETTER PIEUP-SIOS-TIKEUT

Lo

Y

2.1

L

&#x3176;

12662

HANGUL LETTER PIEUP-CIEUC

Lo

Y

2.1

L

&#x3177;

12663

HANGUL LETTER PIEUP-THIEUTH

Lo

Y

2.1

L

&#x3178;

12664

HANGUL LETTER KAPYEOUNPIEUP

Lo

Y

2.1

L

&#x3179;

12665

HANGUL LETTER KAPYEOUNSSANGPIEUP

Lo

Y

2.1

L

&#x317A;

12666

HANGUL LETTER SIOS-KIYEOK

Lo

Y

2.1

L

&#x317B;

12667

HANGUL LETTER SIOS-NIEUN

Lo

Y

2.1

L

&#x317C;

12668

HANGUL LETTER SIOS-TIKEUT

Lo

Y

2.1

L

&#x317D;

12669

HANGUL LETTER SIOS-PIEUP

Lo

Y

2.1

L

&#x317E;

12670

HANGUL LETTER SIOS-CIEUC

Lo

Y

2.1

L

&#x317F;

12671

HANGUL LETTER PANSIOS

Lo

Y

2.1

L

&#x3180;

12672

HANGUL LETTER SSANGIEUNG

Lo

Y

2.1

L

&#x3181;

12673

HANGUL LETTER YESIEUNG

Lo

Y

2.1

L

&#x3182;

12674

HANGUL LETTER YESIEUNG-SIOS

Lo

Y

2.1

L

&#x3183;

12675

HANGUL LETTER YESIEUNG-PANSIOS

Lo

Y

2.1

L

&#x3184;

12676

HANGUL LETTER KAPYEOUNPHIEUPH

Lo

Y

2.1

L

&#x3185;

12677

HANGUL LETTER SSANGHIEUH

Lo

Y

2.1

L

&#x3186;

12678

HANGUL LETTER YEORINHIEUH

Lo

Y

2.1

L

&#x3187;

12679

HANGUL LETTER YO-YA

Lo

Y

2.1

L

&#x3188;

12680

HANGUL LETTER YO-YAE

Lo

Y

2.1

L

&#x3189;

12681

HANGUL LETTER YO-I

Lo

Y

2.1

L

&#x318A;

12682

HANGUL LETTER YU-YEO

Lo

Y

2.1

L

&#x318B;

12683

HANGUL LETTER YU-YE

Lo

Y

2.1

L

&#x318C;

12684

HANGUL LETTER YU-I

Lo

Y

2.1

L

&#x318D;

12685

HANGUL LETTER ARAEA

Lo

Y

2.1

L

&#x318E;

12686

HANGUL LETTER ARAEAE

Lo

Y

2.1

L

Statistik für den Unicode-Block Hangul Compatibility Jamo

C-Id

C-Name

Anzahl

Quote

Lo

Letter, Other

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

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.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
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/508 관련글 쓰기

2009/07/21 15:03

Silverlight - Animation


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초

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.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
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/464 관련글 쓰기

2009/07/20 22:09

Silverlight - Media Player Sample

자료제공 : http://hugeflow.com/

예제소스 :

3-3.WebClientMediaTest.zip


Silverlight - media player

Silverlight MediaControl


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;
        }
    }
}


다른 코드들 보다 어쩌먼 정말 간단한 코드같다 -_ -;;

별다른 기법도 없고, 단지 컨트롤 에서 제공하는 간단한 산수만 한다면 사용할 수 있는..

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.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
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 2

Trackback : http://i-ruru.com/trackback/463 관련글 쓰기

  1. elca 2009/07/21 02:01 address edit & del reply

    잘지내는군~ 덥다 더위조심하고...잘지내~ ^^

    • BlogIcon 써니루루 2009/07/22 19:41 address edit & del

      행님 건강하시죠~

      가끔씩이라도 이렇게 찾아와주셔서 항상 감사해요~

      행님도 더위 먹지 마시고 즐겁게 지내세요 ㅋㅋ

2009/07/16 22:19

Silverlight + Expression = Visual Kitchen


http://www.microsoft.com/silverlight/seethelight/


Silverlight 3와 함께 또 흥미로운 녀식이 있었네요.


http://www.microsoft.com/silverlight/seethelight/visualkitchen/default.htm

위 영상을 한번 보세요 ^ ^



저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.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
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/481 관련글 쓰기

2009/07/15 20:02

Silverlight - Network Sample 2


자료제공 : 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;
        }
    }
}





이전 예제와 대부분이 비슷한 것을 알 수 있다.
그냥 웹서비스 호출하도로 바꾼내용이니.. ㅎㅎ


 

 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.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
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/462 관련글 쓰기