2009-03-17 8 views
0

우리는 서버 백엔드로서의 ASP.Net과 사용자 인터페이스를위한 Adobe Flash의 조합이 탁월한 결혼이라는 것을 발견했습니다.ASP.Net과 통신하는 Flash Remoting을위한 최고의 클라이언트 아키텍처는 무엇입니까?

지금까지 우리는 두 기술 간의 통신 도관으로 Javascript를 사용했습니다. 이것은 잘 작동했지만 문자열 변수가 아니라 객체를 앞뒤로 전달할 수 있기를 원합니다. 우리는 또한 더 나은 성능을 원합니다.

의사 소통하는 데 사용할 수있는 방법을 제공하고 있습니다 :

  • 자바 스크립트 (CS4에 대해 확실하지 MX에서,하지 CS3에서 제대로 지원)
  • 웹 서비스
  • 플래시 리모팅
  • 다른 사람?

필자의 연구에 따르면 Flash Remoting이 최고의 성능을 발휘하는 것으로 나타났습니다.

서버에서 원격 게이트웨이 (Flash Remoting ($ 999 USD), FluorineFx, WebORB, AMF.Net)를 제공해야합니다.

클라이언트에서 remoting을 사용하는 가장 좋은 방법은 무엇입니까?

문제는 플래시 원격 라이브러리가별로 좋지 않거나 잘 지원되지 않는 것입니다. 그들은 CS3가 아니라 MX4에 있었고 아직 CS4에 대해서는 확신하지 못했습니다.

Flex는 탁월한 원격 지원을 제공하지만 Flex에서 Flexform 컨트롤에 국한되지 않고 Flash에서 자유형 UI를 만드는 기능을 좋아합니다. 플렉스에서 플래시 swf를 임베딩하는 제안을 보았습니다. 그러나 다른 레이어를 소개하는 것을 꺼려합니다. 나는 Flex를 광범위하게 사용하지 않았기 때문에 여기에 뭔가 빠져있을 수 있습니다.

이 분야에 경험이있는 사람이 있습니까? 플렉스에서 내 swf를 삽입해야합니까? 아니면 CS4는 충분한 원격 지원을 제공합니까?

감사합니다.

바비 - 좋은 생각입니다. JSON이 트릭을 수행 할 수 있습니다.

cliff.meyers - 우리는 이미 서버에서 불소를 사용하고 있습니다. 문제는 클라이언트에서 Flash (NOT Flex) (위 참조)와 Flash에서 Remoting에 대한 지원이 부족하다는 점입니다.

+0

실종. "flex"태그를 제거하여 게시물을 수정했습니다. –

답변

1

JSON을 처리하는 웹 서비스를 구축해 보셨습니까? 플래시 리 쏘닝 (Flash Remoting) 경로를 시작하기 전에 귀하의 필요에 어떻게 맞는지 살펴 보겠습니다.

1

좋은 지원에 대한 의미를 모르십니까? 우리는 또한이 문제에 직면하여 불소를 사용하고 있습니다. NetConnection 객체를 기반으로 한 클래스 세트를 만들었습니다. 모든 것이 잘 작동하고 VO/DTO 객체가 올바르게 번역되고 Flash에 정확하게 입력됩니다. 내가 만난 유일한 문제는 오류 객체가 객체로 입력되고 분명히 유용한 문서가없는 것입니다. 우리가 가지고있는 또 다른 문제는 바로 같은 정의 파일에서 C# 및 AS3 코드를 자동 생성하는 대신 VO/DTO 객체를 수동으로 코드 변환해야한다는 것입니다.

우리는 지금이 두 가지 프로젝트에서이 기능을 사용했지만 아무런 문제없이 작동했습니다.

1

우리는 Fluorine 또는 WebORB 원격 게이트웨이로 Flash에서 여러 프로젝트를 수행했습니다.우리에게는 몇 가지 문제가있었습니다 (예를 들어 ObjectEncoding.AMF3을 사용하는 데 문제가 있다고 생각합니다). 그러나 나에게는 이것이 최상의 솔루션입니다. 우리는 또한 좋은 선택 인 JSON을 사용했지만 WebORB 나 FluorineFX만큼 좋지 않았습니다 (나에게).

어쩌면 WebORB 예제를 살펴볼 수 있습니다. Flex 대신 Flash로 작성된 몇 가지 예제가 있다고 생각합니다.

private var service:NetConnection; 
service=new NetConnection(); 
service.objectEncoding=ObjectEncoding.AMF0; 
service.connect("GatewayUrl"); 
responder=new Responder(callResult, callFault); 
service.call("name_service", responder, parameters); 

기본적으로 (registerClassAlias를 사용하여 클래스를 등록하는 것 외에는) 모두 수행해야합니다.

물론 Remoting을 위해 Flex가 더 잘 지원됩니다.

다른 블로그를 보려면 link을 확인하십시오.