내 질문은 ASP.NET 4.0 WebForms 응용 프로그램에서 자동 저장을 구현하는 고성능 방법에 관한 것입니다.큰 ASP.NET 폼 자동 저장 및 다시 채우기 메서드를 수행하는
다양한 jQuery 자동 저장 플러그인을 많이 읽었지만 모든 입력 요소를 최소화하는 데 가장 적합합니다. 그리고 사용자가 폼으로 돌아올 때 ASP.NET 폼을 다시 채울 솔루션을 찾지 못했습니다.
많은 요소와 중첩 된 listview 및 formview가있는 FormView가 있습니다. LinqDataSource를 사용하여 FormView와 그 자식을 채 웁니다.
웹 서버는 IIS 7입니다. DB는 Linq to SQL을 통한 SQL Server이고 MSMQ 또는 다른 서버 구성 요소에 대한 액세스 권한이 있습니다.
AutoPostBack으로 설정된 양식 요소 및 비동기 요청을 순차적으로 수행하도록 사용자 정의 JavaScript로 설정된 UpdatePanel을 사용하여 자동 절약을 구현했습니다. 이것은 Linq to SQL의 동시성 오류를 피하기위한 것입니다. 각 UpdatePanel 비동기 포스트 백은 전체 양식을 SQL Server의 초안 테이블에 저장합니다. 매우 우아하지는 않지만 천천히 작동합니다!
문제는 왕복이 너무 느립니다. 이로 인해 저장 중에 작성된 양식 변경 사항이 저장되지 않으며 사용자가 그 동안 스크롤 한 경우 양식이 저장된 요소로 다시 이동합니다.
- 이 같은 방법을 계속 양식에서 LINQ 엔티티를 채우고 MSMQ에 저장 :
그래서 지금은 필요가 생각하고 있어요. 나는 이것을 풀어서 사용자가 양식을 제출할 때 (또는 세션 종료시 또는 다음에 다시 로그인 할 때) 계속 유지합니다. 또는
- https://github.com/nervetattoo/jquery-autosave/과 같은 것을 사용하고 직렬화 된 양식 데이터를 MSMQ에 저장하십시오. 이것은 매우 빠르지 만 문제는 사용자가 후속 세션에서 양식을 반환 할 때 ASP.NET 양식에 데이터를 다시 저장하는 방법을 모르겠다는 것입니다.
각 게시물에 '보내는'양식 입력 값 만 저장하려고 생각했습니다. 사전에서이 작업을 수행하고 MSMQ에서 사전을 유지 관리 할 수 있습니다.
사용자가 브라우저를 닫더라도 양식 데이터가 유지되도록해야하기 때문에 캐시 또는 세션을 사용할 수 없습니다. 그래서 좀 더 견고한 것이 필요합니다.
귀하의 의견에 매우 관심이 있으 십니다.
건배 .. 이전 연구에서
MSMQ가 로컬입니까? MSMQ가 설치되었는지 보장 할 수 있다면 흥미로운 생각입니다. –
웹 서버의 로컬입니까? 예. 다른 곳에서도 구현 된 것을 보았지만 잘 수행됩니다. 현재 LinqDataSource를 사용하고 있지만 성능을 최적화하고 더 나은 스크립팅을 통해 비동기 저장 옵션을 사용자에게 숨기기 위해 노력하고 있습니다. 하지만 최상의 솔루션은 직렬화 된 형식을 MSMQ에 직접 저장하고 필요할 때 SQL Server에 저장하는 것입니다. 이 프로젝트에서 할 시간이 있는지 확실하지 않습니다! 곧 업데이트 될 예정입니다. –