2009-09-19 5 views
1

많은 사용자가 ASP.NET 3.5를 사용하여 SQL Server에 데이터를 입력하는 웹 응용 프로그램을 만들 예정입니다. 데이터가 데이터베이스에서 페이지 단위로 설정되므로 클라이언트에 전송되는 데이터의 부하가 크지 않습니다. 저장 프로 시저가 사용됩니다. 성능 및 응답 성 문제에 대해 웹 2.0 경험 인 AJAX, jQuery 및 기타 클라이언트 기술 (포스트 백이 아님)을 가진 사람들에게 요청합니다. 또한 ASP.NET MVC를 살펴 보았지만 대부분의 예제는 LINQ to SQL 또는 Entity Framework에서 보여줍니다. LINQ to SQL은 일반적인 ADO.NET보다 느리게 수행되는 것으로 보입니다. 개체에 데이터를로드하는 것을 선호합니다.ASP.NET의 관리를위한 최상의 솔루션?

양식 삽입 및 편집은 모달 팝업 또는 예약 된 영역에서 자바 스크립트를 사용하여 동일한 페이지에서 열 수 있습니다.

최소 코딩이 가능한 솔루션이 바람직합니다.

무엇을 제안합니까?

답변

2

하여 나는 다음과 같은 요구 사항/욕망을 참조 후 ...

시스템을 읽는 것은 부하, 최소한의 코딩, 저장 프로 시저, 객체에 데이터를로드에 괜찮은 아래에있을 것입니다.

ORM과 같은 사운드는 훌륭한 솔루션입니다. 그것은 원시 ADO.net 호출보다 느리게 수행 할 수 있지만 크게 코딩을 최소화 할 것이며 L2S 및 Entity Framework에서 저장 프로 시저를 사용할 수 있으며 스트레스를 받으면 잘 작동 할 수 있습니다. 예를 들어,이 사이트는 L2S를 사용합니다. :)

ORM을 사용하면 모든 데이터베이스 액세스 코드를 쓸 필요가 없으므로 개발 시간도 단축됩니다.

L2S 또는 Entity Framework를 원시 DB 액세스 만하는 응용 프로그램의 계층으로 유지하여 개체에 데이터를로드 할 수 있습니다. 그런 다음이 객체를 데이터로 채우도록 호출하는 다른 레이어를 만들지 만 객체를 디자인하는 방법과 작동 방법을 제어 할 수 있습니다. 사실이 방법이 권장됩니다. 다음은 계층화 된 접근 방식을 만드는 방법을 보여주는 링크입니다.:)

http://weblogs.asp.net/dwahlin/archive/2008/02/28/building-an-n-layer-asp-net-application-with-linq-lambdas-and-stored-procedures.aspx

는 등 MVC, AJAX, jQuery를 가진 클라이언트 기술에 관해서 .... 그들은 잘 선택하고 비교 MVC와 함께 당신은 HTML과 걱정할 viewstate가 완벽하게 제어 할 수 있습니다 Web Forms에.

+0

당신의 제안에 감사드립니다! 예, 요구 사항이 있습니다! 나는 내 질문에 대해 오해 할 수도 있음을 두려워했다. 어쨌든, ORM은 저에게 호소합니다. ApexSQL 코드를 사용하여 클래스를 생성합니다. 하지만 일부는 반환 값 (성공적인 트랜잭션)을 가지므로 저장 프로 시저에 대한 L2S 및 Entity Framework에서 생성 된 오류에 대해 약간 짜증이납니다. 그들은 출력 매개 변수를 잘 다루지 않습니다. LINQ와 Entity Framework에 익숙하지 않기 때문에 나는 그 것들을 의지 할 수 있기 전에 일들이 원활하게 진행되기를 바랍니다. 내가 언급 한 것과 같은 이유로 MVC가 정말 좋습니다. 위대하고 감사합니다! – solkim

+0

신입 회원이므로, 답변을 좋아하기 때문에 자신과 카드뮴에 투표하는 것이 좋습니다. :) – klabranche

+0

투표를 올리려면 15 개의 평판이 필요합니다. – solkim

2

대답이 많고 모든 것이 XXX가 아니라 XXX을해야한다는 결정을 내린 것은 아닙니다. 내가 그것을 무너 뜨리려고하자.

ASP.MVC 대 WebForms (표준 ASP.NET) 두 플랫폼 중 하나를 사용하여 적절한 데이터 입력 응용 프로그램을 만들 수 있습니다. Webforms는 길어졌고 자습서를 통해 더 많은 적용 범위를 갖지만 ASP.NET MVC도 마찬가지입니다. MVC는 더 희박 해지고 순조 로워 질 것입니다. 순수한 응답성에 대해서는 좋지만 Webforms에서도 가능합니다. ViewState, SessionState, Postbacks 최소화 등의 작업을 더 많이 수행하고 Webforms의 이점

데이터 액세스가 이미 기본 데이터 액세스 방법으로 저장 프로 시저를 사용하여 결정한 경우 , 당신은 어떤 ORM에서 (Linq2Sql, Linq2Entities, NHibernate에, 음속, 등) 아무것도의 많은 것을 얻을하지 않을 수 있습니다. ORM의 이점을 실제로 활용하려면 기본 데이터 인터페이스에 대한 저장 프로 시저를 포기해야합니다.

그러나 Linq2Sql은 충분히 빠른 것으로 간주됩니다. Linq2Entities는 조금 느리지 만, 아마도 개선 될 것입니다. NHibernate와 Subsonic은 여전히 ​​느립니다. 아주 다른 것들을하기 때문에 ADO.NET과 비교하는 것은 그리 유용하지 않습니다 (데이터베이스와의 대화를 중심으로). 그러나 모든 시스템의 가장 느린 부분이 인터넷을 통해 사용자에게 앞뒤로 데이터를 보내려고하기 때문에 그 모든 것은 의미가 없습니다.

+0

답변 해 주셔서 감사합니다. MVC가 좋은 선택 인 것 같습니다! 응용 프로그램에 따라 스토어드 프로 시저를 사용하겠습니다. 뷰를 가상 테이블로 사용하고 스토어드 프로 시저가 SQL에 som 함수가있을뿐만 아니라이를 사용하고 있습니다. 데이터를 객체에 넣고 거기에서 처리하려고합니다. – solkim

+0

저장 프로 시저를 사용하면 결국 자신 만의 데이터 액세스 계층을 작성하게됩니다. 내가 틀렸다면 누군가가 나를 교정 할 수는 있지만 어떤 ORM이 당신을 위해 얼마나 도움이되는지 모릅니다. 행운을 빕니다. –

+0

맞아. 그러나 각 저장 프로 시저에 대한 클래스를 만들기위한 좋은 도구 (ApexSQL 코드)가 있습니다. 지금 바로 http://www.apexsql.com/sql_tools_code.asp에서 무료로 받아 볼 수 있습니다. 주위에 당신을보십시오 – solkim

1

Asp.net Dynamic Data Project을 확인 했습니까? 시작부터 작동하는 앱으로 빠르게 돌아갑니다. 그런 다음 변경해야 할 사항을 조정할 것입니다. 그러나 새로운 기술을 익히려면 그 기술을 알아야 할 것입니다. 어쩌면 Sps는 최종 솔루션에 포함되지 않습니다.

적어도 최소한의 코딩이 필요합니다.

+0

제안 해 주셔서 감사합니다! 예, 시도했습니다. 그러나 이해하기 때문에 데이터베이스를 사용하려면 관계형이어야합니다. 기본 키 -> 외래 키 구조를 기반으로하지 않습니까? 내가 어떤 분야에서 역동적 인 수의 필드를 가지고 있기 때문에 나는 그렇지 않다. 따라서 필자는 필요에 따라 저장 프로 시저를 사용합니다. – solkim

관련 문제