헤이 모든웹 응용 프로그램 아키텍처 (ASP.NET 3.5, 자바 스크립트)
배경 - 나는 나 클라이언트 측에서 일부 정보를 액세스 할 수 있도록 activx을 사용하고
,
activex 이벤트와 콜백을 사용하여 클라이언트 측에서 서버 측을 업데이트하고 있습니다.
모든 ActiveX 컨트롤의 이벤트를 등록하는 사용자 정의 컨트롤을 작성하여 이벤트 중 하나가 발생하면 해당 이벤트를 처리하는 서버에 대한 콜백이 발생합니다.
이 컨트롤을 기반으로 다른 사용자 컨트롤을 작성해야하므로이 사용자 컨트롤이 클라이언트 측에서 렌더링되는 모든 콜백에서이 컨트롤을 기반으로합니다.
내 질문은 -
이 이벤트를 처리 공유 인프라를 만들고 사용자 컨트롤에 대한 올바른 콘텐츠 기지를 렌더링하는 가장 좋은 방법은 무엇입니까? 내가 사용할 수있는 다른 방법이 있습니까?
감사합니다.
안녕하세요! 귀하의 빠른 답장을 보내 주셔서 감사합니다, 모두, 내가 개체 태그를 사용하여 액티브 X를 호출하고있어의
처음HtmlGenericControl SkypeObject = new HtmlGenericControl("object");
SkypeObject.Attributes.Add("id", "Skype");
SkypeObject.Attributes.Add("codeBase", "http://ip/Skype4COM.dll");
SkypeObject.Attributes.Add("classid", "clsid:830690FC-BF2F-47A6-AC2D-330BCB402664");
SkypeObject.Attributes.Add("name", "Skype");
쓰기 콜백 : 다음
string SkypeAsyncCallbackOnEvent = ClientScript.GetCallbackEventReference(this, "values", ClientScriptName, "context", true);
string SkypeCallbackFunction = "\n<script>\n";
SkypeCallbackFunction += "function SkypeCallback(values,context) {\n";
SkypeCallbackFunction += SkypeAsyncCallbackOnEvent + "\n}\n";
SkypeCallbackFunction += "</script>";
내가 active'x 이벤트를 등록 :
string SkypeOnUserStatusChange = "\n<script for=\"Skype\" event=\"UserStatus(Status)\">\n";
SkypeOnUserStatusChange += "var values = {\"StatusInfo\" : Status};\n";
SkypeOnUserStatusChange += "var myArray = {\"key\" : \"Status\", \"values\" : values};\n";
SkypeOnUserStatusChange += "var s=JSON.stringify(myArray);";
SkypeOnUserStatusChange += "SkypeCallback(s,null);\n";
SkypeOnUserStatusChange += "</script>";
이것은 내 기본 사용자 컨트롤 (즉)이므로 각 이벤트 콜백이 발생합니다. (현재이 클래스로 변경할 수 없음)
이제 클라이언트에서 데이터를 다시 표시 할 사용자 지정 컨트롤을 만들고 싶습니다.
제 의견으로는 자식 참조에있는 콜백 참조 클라이언트 스크립트를 변경하고 하위 컨트롤을 기본 컨트롤의 이벤트에 등록 할 수 있습니다.
어떻게 생각하십니까?