Namespace와 LINQ to XML

Posted 2008/07/24 22:13 by 길버트
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="ButtonStyleSample.App"
             xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
             >
    <vsm:Application.Resources>
         <Style x:Key="myButtonStyle" TargetType="Button">
             ...생략
         </Style>
         <Style x:Key="yourButtonStyle" TargetType="Button">
             ...생략
         </Style>
         <Style x:Key="herButtonStyle" TargetType="Button">
             ...생략
         </Style>
         <Style x:Key="hisButtonStyle" TargetType="Button">
             ...생략
         </Style>
    </vsm:Application.Resources>
</Application>

string xml에 위의 내용이 들어있다고 가정하고,

XDocument xDoc = XDocument.Parse(xml);

위와 같이 xDoc을 준비해 놓고,

XML데이터에서 Style을 돌면서 x:Key의 Value값만 쏙쏙 뽑아내는 LINQ구문을 작성한다면
어떻게 하시겠습니까?


오답

첨엔 막연히 이렇게 해봤습니다.

var result = from c in xDoc.Descendants("Style")
                select (string)c.Attribute("x:Key").Value;

네, 에러가 납니다.
Attribute의 이름에는 콜론(:)을 추가할 수 없습니다.

Attribute메서드의 파라미터는 XName이구요.
XName을 생성할 때 콜론(:)이 들어간 문자열을 허용하지 않기 때문입니다.

정답

XNamespace x = "http://schemas.microsoft.com/winfx/2006/xaml";
var result = from c in xDoc.Descendants("Style")
                select (string)c.Attribute(x + "Key").Value;

XNamespace + string이 XName이 되도록 연산기호 +에 대해
오퍼레이트 오버라이딩이 잘 되어있더라구요.

x + "Key" 이런 식으로 사용하는 것은 썩 직관적이지 않아서 맘에 안드는데,
알고 나니까 잘 쓸 수는 있겠더라구요. ^^

하지만 역시 LINQ는 쓰면 쓸수록 편한 것 같습니다.

Enjoy your LINQ!



Tag : LINQ, namespace, Silverlight, xml, 실버라이트

코멘트를 남겨 주세요. (Write your message and submit)

MouseWheelHelper.cs (Ver. 휴즈플로우)

Posted 2008/07/24 08:06 by 길버트

Silverlight 1.1 시대의 그것과도 다르고
DeepZoom Composer에서 자동 생성해주는 프로젝트에 들어있는 그것과도 다른...

MouseWheelHelper.cs - Ver. 휴즈플로우

소스가 약간 다르지만 사용방법은 다를 것이 없습니다.
성능상의 차이도.. 글쎄요 ^^;

정리 및 공유 차원에서 포스팅합니다.

Usage

MouseWheelHelper wheelHelper = new MouseWheelHelper(this);
wheelHelper.Moved += new EventHandler<MouseWheelEventArgs>(wheelHelper_Moved);

void wheelHelper_Moved(object sender, MouseWheelEventArgs e)
{
    e.Handled = true;

    if (e.Delta > 0) // 휠 버튼 업!
    {
         // Zoom In 따위를 구현
    }
    else if (e.Delta < 0) // 휠 버튼 다운!
    {
         // Zoom Out 따위를 구현
    }
}

이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : MouseWheelHelper, Silverlight, 실버라이트, 휠버튼, 휴즈플로우

코멘트를 남겨 주세요. (Write your message and submit)

FLICKLOCK?! - Flickr + Clock (Silverlight)

Posted 2008/07/20 01:49 by 길버트


FLICKLOCK?

FLICKLOCK is 'FLICKR + CLOCK'.
It shows you recent photo from flickr.com using Flickr Open API

Does it looks like something you have event seen?
You're right!
It's exactly is the homage to UNIQLOCK.


SPECIFICATION

UNIQLOCK is showing the 'Time Zone Name' under the time text.
Butm FLICKLOCK shows 'DOKDO / SOUTH KOREA' (hard coded).

It means 'Dokdo(=island) is absolutely Korean territory'.

You can see clock for 5 seconds (the way UNIQLOCK does),
then you can see 5 recent photos from flickr.com.


1. If you click FLICKLOCK when the photos are being showed,  
it will float new window to get the flickr.com webpage for the photo.

2. If you click FLICKLOCK when time text is being showed,
it will float new window to get the 'Dokdo Museum'


Share

Click to SHARE button to get the code for sharing.


Source


I hope it would be helpful to you.
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : flickr, Silverlight, uniqlock

코멘트를 남겨 주세요. (Write your message and submit)


FLICKLOCK?


FLICKLOCK은 FLICKR + CLOCK으로,
Flickr Open API를 이용하여 flickr.com에 업로드 된 최신 이미지를 보여줍니다.

어디서 많이 본 모습을 하고 있지요?
맞습니다.
많은 블로거들의 사랑을 받는 UNIQLOCK오마주입니다.


특징

UNIQLOCK에서는 TIMEZONE 설정을 시계 아래 보여줍니다만,
FLICKLOCK에서는 DOKDO / SOUTH KOREA란 문구를 하드코딩 해 버렸습니다.

silverlight.net 공식사이트 갤러리에도 소스와 함께 등록요청을 할 계획인데요,
만약 그대로 등록이 될 경우, 은연 중에 외국인 개발자에게 DOKDO가 한국 땅이라는 메세지를
전할 수 있길 바라고 있습니다.

UNIQLOCK과 마찬가지로 5초 동안 시계를 보여주고,
FLICKLOCK에 실시간으로 올라온 최신 사진 5개를 1초 간격으로 번갈아가며
노출합니다.

1. 각 사진이 화면에 떠있는 동안 FLICKLOCK을 클릭하면,
해당 사진이 등록되어 있는 flickr.com의 페이지를 새창으로 띄워줍니다.

2. 시계만 보이고 있는 동안 FLICKLOCK을 클릭하면,
독도 박물관 사이트(영문)를 새창으로 띄워줍니다.


퍼가기

SHARE버튼을 누르면 퍼가기 코드를 제공합니다.


소스공개


업무시간 쪼개서 만드느라 급하게 만들어서, 소스가 조금 허접합니다만,
응용작품 만드시는데 도움이 되시길 바랍니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : DokDo, flickr, Silverlight, uniqlock, 독도, 실버라이트, 유니클락

  1. 한누리

    share 상태에서 소스카피한 다음, 원래 화면으로 되돌아가는 기능이 없는듯 한데요.
    share버튼을 toggle 형식으로 만들어서 share/view 모드로 전환가능하면 어떨까 합니다.
    항상 열심히하시니 부럽군요. 그럼 수고하세요.

    | 2008/07/20 14:52 | PERMALINK | EDIT | REPLY |
  2. BlogIcon 길버트

    일단, 오른쪽 위에 'X' 버튼이 있어서,
    원래 화면으로 돌아가실 수가 있습니다만,
    잘 눈에 안 띄나 보네요. 개선하도록 하겠습니다.
    그리고 share 버튼 토글화도 좋은 아이디어시네요.
    감사합니다.

    | 2008/07/20 22:47 | PERMALINK | EDIT |
  3. 한누리

    죄송해요. 작아서 그런지 미처 x버튼을 못봤네요.

    | 2008/07/20 23:34 | PERMALINK | EDIT |
  4. BlogIcon Joyh

    우왕 달아봐야지..

    | 2008/07/20 22:03 | PERMALINK | EDIT | REPLY |
  5. BlogIcon 길버트

    윤형군 달았다가 떼었구나?
    심각한 문제점이라도 발생?

    | 2008/07/21 09:13 | PERMALINK | EDIT |
  6. BlogIcon Joyh

    집에서는 나왔는데 회사에서 안나와서 잠시 창고로 이관하였습니다.

    | 2008/07/21 12:48 | PERMALINK | EDIT |
  7. BlogIcon 길버트

    윤형군 실버라이트 설치 했는데도 안나오는 것이야?
    증상을 소상히 알려줘!

    | 2008/07/21 13:08 | PERMALINK | EDIT | REPLY |
  8. 1

    <vsm:VisualStateManager.VisualStateGroups>
    이라는 속성이 없다고 나오는데요 (Visual Studio 2008) Silverlight 2 beta2

    | 2008/07/21 15:10 | PERMALINK | EDIT | REPLY |
  9. BlogIcon 길버트

    네, 안녕하세요!
    그것은 Visual Studio가 아직 Silverlight 2 Beta 2의 Feature인
    VisualStateManager를 제대로 인식을 하지 못해서 보이는 에러입니다.

    그럴 땐 한번 더 컴파일을 수행하시면 에러가 사라지는 것을 보실 수 있습니다.
    프로그램을 실행하는데 전혀 지장이 없는 에러입니다.

    Silverlight 2 정식버전 공개와 함께 나올 Visual Studio 2008 패치에서
    문제가 해결되리라 생각합니다.
    감사합니다.

    | 2008/07/21 16:40 | PERMALINK | EDIT |
  10. 1

    네 감사합니다.
    저 나름데로 찾아보니까 비주얼 스튜디오 문제라고 나오네요...ㅎㅎㅎㅎ
    오류로 분류는 되지만 컴파일 및 실행은 된다고 하네요...

    | 2008/07/21 18:20 | PERMALINK | EDIT | REPLY |
코멘트를 남겨 주세요. (Write your message and submit)

상황설명

UserControl 부모와 UserControl 자식이
UserControl.Resource 하위에 같은 이름을 가진 스토리보드를 가지고 있는 상황에서,
자식을 생성하여 부모의 LayoutRoot.Children에 Add를 하려고 시도하면,
경우에 따라서 다음 그림과 같이 ArgumentException을 유발합니다.

사용자 삽입 이미지

정확히 어떤 경우에 이렇게 되는지 실험을 통해 알아 보았습니다.


실험조건

Fafamama 클래스 - 부모 역할을 하는 UserControl 입니다.
Son 클래스 - 자식 역할을 하는 UserControl입니다.
Daughter 클래스 - 자식 역할을 하는 UserControl입니다.

Fafamama는 LayoutRoot의 Opacity를 조정하는 sbShow란 Storyboard를 UserControl.Resources 하위에 가지고 있으며,
Son은 Fafamama를 쏙 빼 닮아 자신의 LayoutRoot의 Opacity를 조정하는 sbShow란 똑같은 이름의
Storyboard
를 가지고 있습니다.
Daughter는 Son이 가지고 있는 스토리보드와 똑같은 스토리보드를 이름만 다르게 하여 가지고 있습니다.

Fafamama.MakeSons() 메서드 - 두 명의 아들을 생성합니다.
Fafamama.MakeDaughters() 메서드 - 두 명의 딸을 생성합니다.

총 6가지 케이스를 실험하기 위해 6번 Fafamama를 생성합니다.

Case 1) Fafamama의 생성자에서 MakeDaughters 호출
Case 2) Fafamama의 Loaded 이벤트에서 MakeDaughters 호출
Case 3) 버튼 클릭에 의해 이미 생성되어 있는 Fafamama의 MakeDaughters 호출

Case 4) Fafamama의 생성자에서 MakeSons 호출
Case 5) Fafamama의 Loaded 이벤트에서 MakeSons 호출
Case 6) 버튼 클릭에 의해 이미 생성되어 있는 Fafamama의 MakeSons 호출


라이브 실험

아래 실버라이트 어플리케이션 안에 실험 Case 6개에 대한 버튼을 준비 하였습니다.
한번 씩 눌러보십시오.


실험결과

부모와 같은 이름의 Storyboard를 가지고 있지 않은 Daughter의 경우, 언제나 예외발생 없이 생성이 된 반면,
UserControl 부모, 자식이 같은 이름의 스토리보드를 가지고 있는 Son의 경우,
생성자에서 호출 시를 제외하고서는 부모의 Panel에 Children.Add 할 수 없었습니다.
이런 경우를 만나신다면 당분간은 피해서(스토리보드 이름을 중복되지 않게 준다거나, 이름을 유지하고, 다른 객체의 Resources 하위로 옮김) 사용해야 하겠습니다.


다운로드


실험에 사용된 프로젝트입니다.



 

Tag : ArgumentException, Children.Add실패, Silverlight, Storyboard이름중복, 실버라이트

  1. BlogIcon HOONS

    맞아요~ 저도 예전에 삽질했던 기억이 있네요 ㅎㅎ

    | 2008/07/10 15:30 | PERMALINK | EDIT | REPLY |
  2. BlogIcon 길버트

    아하! 경훈씨도 그런 경험이 있었군요!

    | 2008/07/12 08:59 | PERMALINK | EDIT |
코멘트를 남겨 주세요. (Write your message and submit)

[SL2 B2] Socket 사용을 위한 Policy Server 만들기

Posted 2008/07/03 17:10 by 길버트

개요

Silverlight 2 Beta 2에서 Socket을 사용할 때 Cross-Domain에 있는 소켓 서버에
접속을 하려면 서버 측의 정책을 확인하는 과정이 필요하게 된 것 아시죠?

다시말해, 실버라이트 런타임이 943번 포트를 통해 실버라이트 정책 파일을 요청하면,
서버 쪽에서는 정책파일을 보내줘야 하는데요.

며칠 전 공도씨[MSDN] 네트워크 보안 접근 제약란 제목의 장문의 번역글을 포스팅했습니다.

그 내용의 하단에 보시면 그런 역할을 하는 서버를 만드는 방법이 소개되어 있습니다.
[소켓을 위한 정책 파일 예제][소켓을 위한 정책 서버의 샘플 코드] 내용이 있구요.
Mike SnowsTip of the Day #12 - Full Implementation of a Silverlight Policy Server.
참고하면 정책 파일 서버를 만들 수 있다고 설명해 놓았습니다.


다운로드

아래는 그것을 그대로 따라서 만들어 놓은 프로젝트구요.

제가 조금 코드를 바꿔서 정책 파일 요청시 Socket Client의 IP를 화면에서 알 수 있도록
하였습니다.

PolicyConnection.cs

public PolicyConnection(Socket client, byte[] policy)
{
    _connection = client;
    _policy = policy;

    _buffer = new byte[_policyRequestString.Length];
    _received = 0;

    try
    {
 // receive the request from the client
 //_connection.BeginReceive(_buffer, 0, _policyRequestString.Length, SocketFlags.None,
 //    new AsyncCallback(OnReceive), null);

 _connection.BeginReceive(_buffer, 0, _policyRequestString.Length, SocketFlags.None,
       new AsyncCallback(OnReceive), client.RemoteEndPoint.ToString());
    }
    catch (SocketException)
    {
 _connection.Close();
    }
}

...

private void OnReceive(IAsyncResult res)
{
    try
    {
 _received += _connection.EndReceive(res);

 // if we haven't gotten enough for a full request yet, receive again
 if (_received < _policyRequestString.Length)
 {
     _connection.BeginReceive(_buffer, _received, _policyRequestString.Length - _received,
  SocketFlags.None, new AsyncCallback(OnReceive), null);
     return;
 }

 // make sure the request is valid
 string request = System.Text.Encoding.UTF8.GetString(_buffer, 0, _received);
 if (StringComparer.InvariantCultureIgnoreCase.Compare(request, _policyRequestString) != 0)
 {
     _connection.Close();
     return;
 }

 // send the policy
 Console.Write(string.Format("Sending policy to {0}\n", res.AsyncState));
 _connection.BeginSend(_policy, 0, _policy.Length, SocketFlags.None,
     new AsyncCallback(OnSend), null);
    }
    catch (SocketException)
    {
 _connection.Close();
    }
}


미리보기


사용자 삽입 이미지


주의사항

컴파일 전에 Program.cs의 한부분을 수정하셔야 합니다.
색깔 있는 부분을 실제 clientaccesspolicy.xml 파일이 위치한 곳의 경로로 변경하셔야 합니다.

Program.cs

static void Main(string[] args)
{
    Console.Write("Starting...\n");
    PolicyServer ps =
 new PolicyServer(@"D:\clientaccesspolicy.xml");
    System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);

}

감사합니다.


보너스

Beta1 시절 포스팅 되었던 스캇구 형님의 소켓 예제를 오늘 다시 한 번 찾아보니!
Beta2 버전으로 포팅이 되었습니다. 여기에도 Policy Server를 포함하고 있습니다.
한 번 훑어 보시면 도움이 되실 거라고 생각합니다.

Pushing Data to a Silverlight Client with Sockets: Part I
Pushing Data to a Silverlight Client with Sockets: Part II

Part I에서는 Socket Server를 Part II에서는 Socket Client를 설명하고 있습니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : 943포트, clientaccesspolicy.xml, Silverlight, socket, 소켓, 실버라이트, 정책파일

코멘트를 남겨 주세요. (Write your message and submit)

[Remake] MediaElement 동시사용의 한계는 123개다.

Posted 2008/07/01 16:07 by 길버트
이전 포스트를 Silverlight 2 Beta 2 버전으로 포팅하였습니다.


리듬잇 같은 BMS류의 게임을 Silverlight로 제작하다가 발견한 문제입니다.
예를 들어 어떤 곡에서 270여 개의 음원을 사용하는 이유로,
이 음원에 대한 MediaElement를 미리 270개 생성해 놓고 사용하고자 하였습니다.
그 곡을 재생시켜보자 군데군데 연주되지 않는 음이 발견되었습니다.

왜그런가 테스트를 해보다가 123번째 MediaElement 이후에 생성된
MediaElement들은 Play() 메서드가 제대로 작동하지 않는 것을
발견하였습니다.

시뮬레이션

다음은 직접 문제를 체험해 볼 수 있는 샘플입니다.
스피커를 켜고 테스트를 해 보십시오.



소스

아래 링크를 클릭하여 다운 받으십시오.


실험의 결론

Silverlight 2 Beta1에서는 123개 이하의 MediaElement만 만들어 사용해야 합니다.
123개 이상의 MediaElement가 필요한 경우에는 이미 생성해 놓은 MediaElement를
Source만 변경하여 재활용해야 합니다.

예를들어 한 Silverlight Page 내에 123개를 초과하는 동영상, 음악이 존재하는 경우에는
초과분에 해당하는 미디어는 재생을 시킬 수 없습니다.

다른 테스트를 통해 다음과 같은 사실도 추가적으로 알 수 있었습니다.

1) XAML에 <MediaElement ...> 형태로 추가를 해도 124번째부터는 작동을 안 합니다.
2) MediaElement마다 서로 다른 Source를 입력해 주어도 결과는 같습니다.

원인이 무엇인지 궁금합니다.
원인에 따라 차후에 발표되는 Beta2나 정식 릴리즈에서
개선될 수도 있고, 개선되지 않을 수도 있겠네요.

포럼 피드백

실버라이트 포럼에도 같은 글을 게시해 놓고 피드백을 기다리고 있습니다.
http://silverlight.net/forums/t/11735.aspx
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : MediaElement, Silverlight, 개수제한, 실버라이트

코멘트를 남겨 주세요. (Write your message and submit)

Remix Korea 2008 - 피그맵 시연 동영상

Posted 2008/07/01 14:24 by 길버트
며칠 전, 기다리던 Remix Korea 2008의 동영상이 공식사이트에 업데이트 되었습니다.
http://visitmix.co.kr

그 중 피그맵 부분만 편집해 보았습니다.

중간 중간 시연이 원활하지 못한 부분이 있지만, 꾸욱 참고 봐주세요~ ^^



감사합니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : Hugeflow, Pigmap, RemixKorea, Silverlight, 리믹스코리아, 실버라이트, 피그맵, 휴즈플로우

코멘트를 남겨 주세요. (Write your message and submit)

DAUM dev.day 작업물 스샷

Posted 2008/06/28 04:22 by 길버트
어제 저녁 7시 30분~오늘 아침 6시 30분까지 진행되었던,
DAUM DevDay 행사에 참석했습니다.

DAUM API를 활용하도록 구상한 프로젝트를 저녁 9시 30분부터,
이튿날 새벽 4시 30분까지 마쳐야 합니다.

팀은 미리 구성되어 신청하거나, 현장에서 자유롭게 구성할 수 있었습니다.
물론 팀없이 혼자하는 분들도 많이 계셨습니다. 저도 마찬가지였구요.

저는 그냥 단순하게 DAUM 이미지 검색결과 만을 활용하여,
검색결과를 실버라이트로 보여주는 간단한 어플리케이션을 작성해서 발표하였습니다.

사용자 삽입 이미지
이미지 검색만을 사용하는데도 DAUM API의 많은 제약사항에 부딪혀야 했습니다.
검색결과를 50페이지 이상 부를 수 없게 한 점. 썸네일 이미지만 제공하고 원본이미지의 URL을
제공하지 않는 점. 130 pixel 이하의 이미지를 가지고 Zoom In / Zoom Out 등의 기능을
지원하기엔 안하는 편이 나아서 구현하지 않았구요.

새로운 검색어로 검색하거나, 페이지를 이동하면 원래 있던 이미지들은 우루루 아래로
사라져 버리고, 새로 검색된 결과가 쏟아져 나오게 하였습니다.

Live Demo

http://hugeflow.com/temp/DaumOpenAPISampleTestPage.html


The Others

행사에서 발표할 모든 프로젝트는 새벽 4시 30분까지 Wiki 형태로 작성하였습니다.
20여개의 프로젝트 내용을 여기서 확인하실 수 있습니다.

Tag : Daum, Dev.day, OPENAPI, Silverlight, 다음, 데브데이, 실버라이트

  1. BlogIcon Rachael

    오호 작품이 나왔군요. 데모에서 처럼 똑같이 원더걸스를 입력해서 한참 사진을 보고말았습니다 -_-;

    | 2008/06/29 23:55 | PERMALINK | EDIT | REPLY |
  2. BlogIcon 길버트

    DAUM 이미지 검색이 카페 우선이라 그런지
    중복 사진이 참 많이 나오죠?

    실타래 계속 잘 풀리고 있죠?
    십만 오천 넘었던데, 파이팅입니다!

    | 2008/06/30 08:43 | PERMALINK | EDIT |
코멘트를 남겨 주세요. (Write your message and submit)

JOIN US!

Posted 2008/06/27 11:43 by 길버트
휴즈플로우가 신입 개발자를 구합니다.

(함께해요!)

모집 공고 원문 : http://hugeflow.com/zbxe/?mid=recruit
인크루트 : http://job.incruit.com/jobdb_info/jobpost.asp?job=2008061202353

휴즈플로우 최고령(30세, 만28세!) 멤버 길버트가 한 말씀 드립니다.
저희 휴즈플로우가 현재 신입 개발자 1인을 모집중입니다.

자세한 내용은 아래와 같습니다.

업무
- 실버라이트를 이용한 RIA 개발

필수 조건
- C#

우대 (필수 조건아님)
- MSDN Library를 잘 활용하는 사람
- 새벽반이라도 다니면서 영어 공부할 열정이 있는 사람
- Silverlight 어플리케이션 개발 유경험자

복지
- 회의실에 닌텐도 Wii
- 냉장고를 가득채운 간식거리

사용자 삽입 이미지

관심 있으신 분은 nemiso38@gmail.com
이력서와 간단한 자기소개서를 보내주시기 바랍니다.

박스마일, 공도, 길버트가
함께 할 신입 개발자를 애.타.게 기다리고 있습니다.
감사합니다!

이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : Silverlight, 구인, 신입개발자, 실버라이트, 휴즈플로우

  1. BlogIcon 패러다임

    저도 휴즈플로우 같은 회사를 애.타.게 다니고 싶은데 너무 나이를 먹어 버린.. -_-''

    | 2008/06/27 20:37 | PERMALINK | EDIT | REPLY |
  2. BlogIcon 길버트

    나이는 숫자에 불과합니다만,
    연봉은 숫자에 불과하진 않은거죠? ^^;

    | 2008/06/28 11:53 | PERMALINK | EDIT |
  3. BlogIcon 남정현

    안녕하세요 :-) 남정현입니다.
    다음 데브데이에서 만나게 되서 반갑습니다. 잘부탁드려요 :-)

    | 2008/06/27 22:13 | PERMALINK | EDIT | REPLY |
  4. BlogIcon 길버트

    새벽녘에 Inplace 데모 잘봤어요.
    검색결과를 즐겨찾기 형태나 HTML로 Export 한다는
    아이디어 재미있었습니다.

    | 2008/06/28 11:55 | PERMALINK | EDIT |
  5. BlogIcon 정주Go

    이정주예요~ 자주 올께요~

    | 2008/06/27 22:16 | PERMALINK | EDIT | REPLY |
  6. BlogIcon 길버트

    전날 밤새고 dev.day에서 또 밤샌 강철 체력의 소유자!
    특이하게 엑셀에서 Open API 활용하는 것 잘 봤습니다.
    또, 하고 있는 도서관 예약시스템 대박 나기를...

    | 2008/06/28 11:56 | PERMALINK | EDIT |
코멘트를 남겨 주세요. (Write your message and submit)

crossdomain.xml과 clientaccesspolicy.xml 샘플

Posted 2008/06/26 14:44 by 길버트
crossdomain.xml과 clientaccesspolicy.xml 파일은 아시다시피,
크로스 도메인 접근을 가능 여부를 설정하는 파일입니다.

'무엇에 쓰는 물건인고?'
더 궁금하신 분은 공도님이 실버라이트 2 Beta 1 시절에 정리한
포스트가 있으니 참고 바랍니다. xml 파일 내용은 변경되었지만, 큰 틀은 같습니다.

매번 필요할 때마다 웹서핑하는게 좀 소모적인 것 같아서,
블로그에 세간살이로 들여 놓습니다.


clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from http-request-headers="*">
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

crossdomain.xml

<?xml version="1.0"?>

<!DOCTYPE cross-domain-policy SYSTEM

  "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>

  <allow-http-request-headers-from domain="* " headers="*" />

</cross-domain-policy>



출처 : How to: Make a Service Available Across Domain Boundaries
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : clientaccesspolicy.xml, crossdomain.xml, Silverlight, 실버라이트

  1. BlogIcon 패러다임

    이거 카페 자료실에도 올려 놓아도 되죠? ^^ 항상 생각하고 있던거 였는데 생각난김에 파일 옮겨 놓고 링크 걸겠습니다. ^^

    항상 감사드려요~~ ^^

    | 2008/06/27 01:25 | PERMALINK | EDIT | REPLY |
  2. BlogIcon 길버트

    네 물론이지요~!
    카페장님 파이팅.

    | 2008/06/27 10:43 | PERMALINK | EDIT |
코멘트를 남겨 주세요. (Write your message and submit)
저희 휴즈플로우에서 만든 실버라이트 샘플을 소개하는 데모룸 쉬버라이트닷넷
실버라이트 공식사이트쇼케이스에 등록되었습니다.

지금 현재 한국 카테고리에는 쉬버라이트 닷넷을 합쳐 4개의 쇼케이스가 등록되어 있습니다.
(중국 6개, 일본 4개)

대한민국 실버라이트 개발자 여러분들!
멋진 것 많이 만들어서 쇼케이스에 많이 등록되시길 바랍니다.


이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : shiverlight.net, Showcase, Silverlight, 쇼케이스, 쉬버라이트닷넷, 실버라이트, 휴즈플로우