2009-11-06 6 views
0

친구 웹 사이트 용 포럼 응용 프로그램을 작성해야합니다. SQL Server 데이터베이스와 함께 ASP.NET MVC 프레임 워크에 대해 C# 3.0으로 작성하려고합니다.ASP.NET MVC 포럼 응용 프로그램

  • 내가 SQL 또는 데이터베이스 추상화와 같은 엔티티 프레임 워크에 Linq를 사용해야합니까 :

    그래서, 두 가지 질문을했습니다?

  • ASP.NET 멤버십 API를 사용하거나 사용자 테이블을 추가하고 직접 구현해야합니까?

감사합니다.

답변

1
  1. ASP.NET MVC와 링 사용하는 인터넷의 주위에 사례가 많이있다. 하지만 NHibernate 목록을 추가 할 수 있습니다. 추가하고 싶지 않으면 Entity Framework를 제안하십시오. ORM을 사용하는 것이 좋습니다.
  2. 나는 항상 내 자신의 회원 관리 레이어를 작성했습니다. 만약 당신이 (당신 자신의 코드를 작성하고 미래에 변화를 줄 때 행복해하는) 사람이라면, 자신의 멤버십 레이어를 작성하십시오. 당신이 빠른 해결책을 찾고 있다면 ASP.NET Membership API가 좋은 선택입니다.
0

1) 둘 다 어떻습니까? 그냥 추상화를 만들고 그냥 사용할 수도 있습니다. 내 추천은 저장소 패턴을 사용하는 것입니다.

2) 멤버십 제공 업체는 장점과 약점이 있습니다. 일부 프로젝트의 경우 내 요구 사항에 비해 너무 복잡했습니다. 그러나 짧은 시간 안에 뭔가를 실행해야 할 필요가 있다면 좋습니다.

+0

다른 프로젝트를위한 플랫폼으로 그 구성 요소를 배포 할 계획이 아니라면 1은 이와 같은 불필요한 추상화라고 생각합니다. –

+0

데이터베이스 작업시 불필요한 추상화 같은 것이 있는지 확실하지 않습니다. 그것은 매우 쉽고 쉽게 유지 보수가 가능합니다. 왜 당신이 동의하지 않는 이유인지 모르겠다. 여기에 요점을 말하지는 않았다 ... – zowens

+0

더 많은 코드가 쉬운 유지 보수를 의미하지는 않는다. 추상화 계층은 코드 팽창과 유연성 사이의 절충점입니다. 유연성이 불필요한 경우에는 더 많은 코드를 작성, 디버그 및 유지 관리해야합니다. 아마 내가 한 적이있는 자료의 99 %가 지속성 이야기를 변경하지 않았을 것입니다. 그렇지 않았다면 완전히 다시 작성한 것입니다. 융통성이 현실적으로 필요할 경우 (예를 들어 사람들이 물건을 만드는 시동기 킷을 배포하는 경우와 같이) 추상화하는 것이 좋습니다. 그렇지 않다면 그것은 단지 추가 작업입니다. –

0

나는 첫 번째 질문에 대답하지 않을 것입니다. 사용자 테이블을 추가하고 멤버십을 직접 구현하는 두 번째 질문에 대해서는 nhibernate 의 팬입니다. 사용자가 적어도 올바른 방법으로이를 수행 할 수있을 것이라고 생각하지 않습니다. (많은 사람들이 자신의 회원 API를 만들려고 노력했지만 엉망이되었습니다.)

0

1) 복잡한 일이 얼마나 진행되는지에 달려 있습니다. 테이블을 1 : 1 패션으로 미러링하는 빠른 DAL을 원한다면 L2S (또는 더 성숙하고 지원이 필요한 무언가를 원하는 경우 SubSonic)로 가십시오. 테이블과 도메인 모델이 완전히 다른 n-tier 유형의 경우 엔 Entity Framework와 같은 OR/M을 사용하십시오 (모든면에서 훨씬 더 나은 것을 원하면 NHibernate)

2) ASP.net 멤버쉽은 매우 복잡하며 제대로 설계되지 않았습니다. 그러나, 이것들에 얼마나 많은 경험이 있는지에 달려 있습니다. 세션 고정 공격을 피하기위한 조치를 취하는 방법을 충분히 알고 있다면 통조림으로 작성된 솔루션보다 더 나은 기회가 될 수 있기 때문에 자신 만의 롤을 만드십시오. 그것이 무엇인지 모르는 경우 기본 시간을 익히십시오.

0

무엇인가 생각해 보면, SubSonic 3은 매우 강력한 데이터 액세스 생성 도구입니다. 내가 이해하는 것으로부터, 그것은 기본적으로 Linq를 Sql에 랩핑하고 Linq를 좀 더 intient하게 사용합니다. SubSonic을 사용하면 꽤 강력한 응용 프로그램을 단시간 내에 구축 할 수 있습니다.하나의 작은 문제지만, 공유 호스팅 (예 : GoDaddy)을 사용하는 경우 중간 신뢰 문제가 발생합니다. 이 경우에는 코드 기반을 변경하지 않고도 언제든지 Linq To Sql로 되돌아 갈 수 있습니다.

Aspnet_Membership과 같습니다. 그것이 제공하는 도구의 양을 위해, 나는 그것을 사용하는 것이 좋습니다거야.

행운을 빌어 요, 이것이 도움이 되길 바랍니다.

관련 문제