저는 대학에 갔을 때 선생님은 구조화 된 응용 프로그램에서 프레젠테이션 계층, 비즈니스 계층 및 데이터 계층이 있다고 말했었습니다. 이것은 내가 5 년 이상 동안 들었던 것이다.n 계층 응용 프로그램의 WCF 서비스 계층 : 성능 고려 사항
내가 작업을 시작했을 때 나는 이것이 사실이지만 3 가지 이상의 레이어를 갖는 것이 더 나은 경우가 있음을 발견했습니다. 2-3 일 전에 John Papa가 Entity Framework를 계층화 된 응용 프로그램에서 사용하는 방법을 설명하는 this article을 발견했습니다. 그 기사에 따르면, 당신은해야합니다
- UI 레이어와 프리젠 테이션 레이어 (모델보기 패턴)
- 서비스 레이어 (WCF)
- 비즈니스 계층
- 데이터 액세스 계층
서비스 레이어는 내가 일한 이후로 내가 들어 본 최고의 아이디어 중 하나입니다. 그러면 UI가 비즈니스 및 데이터 레이어에서 완전히 "연결 해제"됩니다. 이제 제공된 소스 코드를 들여다 보니 몇 가지 질문이 생기기 시작했습니다. 그들에게 대답하는데 나를 도울 수 있니?
질문 # 0 :이 질문은 귀하의 의견으로는 좋은 기업 응용 프로그램 템플릿입니까?
질문 1 : 서비스 계층을 어디에서 호스팅해야합니까? 그것은 Windows 서비스인가 아니면 다른 것입니까?
질문 2 : 제공되는 소스 코드에서 서비스 계층은 WSHttpBinding이있는 끝점 만 노출합니다. 이것은 가장 상호 운용 가능한 바인딩이지만 (객체의 직렬화 및 비 직렬화로 인해) 성능면에서 최악입니다. 동의하니?
질문 3 : 질문 2에서 나와 동의하는 경우 어떤 종류의 바인딩을 사용 하시겠습니까?
앞으로 연락 드리겠습니다. 좋은 주말 되세요!
마르코
좋아요, 내부 응용 프로그램에 내 비즈니스 계층을 열어야하는 시나리오에서는 netTcp를 제안하지만 외부 응용 프로그램에 액세스해야한다면 webHttpBinding 또는 webHttpBinding을 제안하십시오. 완전한. 고마워. – Marconline
네, 확실히 내부 애플 리케이션 및 액세스를위한 netTcp를 사용하십시오 - 최선의 선택. 외부 적으로는 일반적으로 불가능합니다 (트래픽이 통과하려면 방화벽에 구멍을 뚫어야한다는 사실 때문에 - 대부분 불가능한 일입니다 ...) –