2009-02-08 8 views
5

예를 들면 :MOSS 또는 WSS 3.0과 관련하여 API의 어떤 부분이 더 잘 구현 되었습니까?

  • 밀봉 방법 당신은
  • 던져 예외 MCMS 2002
  • 에 중요한 기능을했다 연결된 내용의 도움
  • 제거가보다 더 모호한을 확장 좋아했을 수도
  • HTML을 저장하고 반환 할 때 필드에서 HTML이 제거됩니다. 이 문제를 해결하는 쉬운 옵션이 없습니다.
  • SPWeb을 만드는 것은 영원합니다. 추가 데이터베이스 결과 속성을 리팩토링에 대한
+0

Touche! 그것에 대해 어떻게 생각하십니까? –

+0

나는 Rex에 동의합니다. ;) API는 괴물이다. 다른 누군가가 코드에서 워크 플로를 시작하는 메모리 누수가 발생 했습니까? –

+0

MOSS가 생성 한 판매액 ($)을 통해 OM의 내부를 다시 방문 할 수 있기를 바랍니다. 그래도 정확한 이유는 이전 버전과의 호환성을 유지하기를 원하기 때문입니다. –

답변

6

Sharepoint 개체 모델이 순수하게 관리되는 코드 였으면 좋겠다. .NET 래퍼를 사용하는 것이 편리하지만 IDisposable을 구현하는 많은 개체를 삭제하는 것에 대해 걱정할 필요가 없습니다. dispose가 WSS 앱에서 호출되지 않으면 메모리 문제가 발생하기 쉽습니다. 그리고 .NET으로 이동하는 이유는 개발자가 메모리 관리를 처리하지 않아도된다는 것이 었습니다. ...

+0

+1 분기 재귀에서 모든 SPWeb을 올바르게 처리하기 위해 우리가 제시 한 패턴 중 일부가 표시되어야합니다. –

+0

나는 여기에도 동의합니다. SPWeb은 계속 통제 할 수있는 야간 도구입니다. –

+0

+1 SPWeb이 정기적으로 우리 엄마를 때린다 –

2

어떻게 MCMC 2002 년부터

  • Nonexistant 마이그레이션 경로는 SPList의 항목 속성 예를 들어, 대신 메소드에 호출합니다.

  • 2

    SPList API 중 하나라도 완전한 다시 쓰기를 사용할 수 있습니다. 중첩 된 폴더가있는 라이브러리를 다루려고 시도하는 것은 명백한 계층 구조가없는 목록이 완전히 병합 된 완전한 악몽입니다.

    또 다른 멋진 추가 기능은 테스트를 돕기 위해 SPWeb, SPList 및 다른 Sharepoint 클래스에 대한 인터페이스를 추가하는 것입니다.

    1

    개인적으로 가장 좋아하는 것은 SPField.GetFieldValue Method입니다. 나는 그들이 왜 그런 식으로 설계했는지 모르지만 나에게는 거의 이해가되지 않는다. 을 ListItem에서 객체를 얻으려면 당신이 somethine 등을 할 수 있습니다

    SPField field = ((SPList)list).Fields.GetField("FieldName"); 
    object fieldValue = field.GetFieldValue(((SPListItem)item)[field.Title].ToString()); 
    

    은을 ListItem에서 객체를 얻기는 IMO 기본 작업입니다, 그래서 이것은 그 복잡하지 않아야합니다.

    1

    메서드 또는 배열에 필드 이름을 전달할 때 불일치가 발생합니다.

    케이크에 장식을 넣어하려면 보통 방법은 내부 및/또는 표시 이름을 사용 여부에 대한 어떠한 문서도 없다.

    +0

    +1 "no documentation"발언. 나를 미치게 해. –

    관련 문제