2013-02-26 1 views
3

우리는 일부 WebDAV 기능을 제공하고이를 구현하기 위해 .NET 용 IT Hit Server Engine 구성 요소를 평가할 웹 응용 프로그램을 개발 중입니다.IT-Hit WebDAV 서버 체크 아웃 모드 및 MS Office와의 상호 작용

목표는 내부 논리에 따라 읽기 - 쓰기 또는 읽기 전용 모드로 사용자에게 특정 MS Office 문서를 제공하는 것입니다. 우리는 Visual Studio의 WebDAV 템플릿 응용 프로그램과 온라인 설명서를 통해 조사를 시도했지만이 작업을 수행하는 구체적인 방법을 찾지 못했습니다. 보다 구체적인 참고 문헌은 어디에서 찾을 수 있습니까?

또한 사용자가 MS Office 응용 프로그램 (MS Word)을 닫고 문서와의 상호 작용을 완료 한 시점을 알 수 있습니까?

답변

0

파일을 읽기 전용으로 만들려면 파일 항목에 IMsItem 인터페이스를 구현할 수 있습니다. 귀하의 IMsItem.GetFileAttributes 메소드 구현은 읽기 전용 파일에 대한 속성을 반환해야합니다 :이 코드가 실제로 수정에서 파일을 보호하지 않습니다

public FileAttributes GetFileAttributes() 
{ 
    ... 
    if(/*this file is read-only*/) 
    { 
     return fileSystemInfo.Attributes | FileAttributes.ReadOnly; 
    } 
    ... 
} 

참고 만 읽기 전용으로 파일을 표시합니다. 응용 프로그램이 읽기 전용 플래그를 무시하면 파일을 덮어 쓸 수 있습니다. 이 문제가 발생하지 않도록하려면 IFile.Write 메서드 구현에서 사용자가 파일을 수정할 수있는 권한이 있는지 그리고 파일이 읽기 전용이 아닌지 확인해야합니다. 파일이 읽기 전용 인 경우 예외를 throw합니다.

Microsoft Office는 닫을 때 파일을 열고 잠그면 잠급니다. 따라서 파일이 닫히면 서버 측에서 ILock.Unlock() 메쏘드가 호출됩니다. 연결이 끊어지고 파일이 MS Office에 의해 잠금 해제되지 않으면 서버 구현은 일반적으로 잠금이 만료 된 후 파일을 자동으로 잠금 해제합니다.

how WebDAV locking works here에 대해 읽으십시오.

+0

입력 해 주셔서 감사합니다. 읽기 전용 모드에 대한 질문이 하나 더 있습니다. "이 코드는 실제로 파일을 수정으로부터 보호하지 않으며 파일을 읽기 전용으로 표시합니다. 응용 프로그램이 읽기 전용 플래그를 무시하면 가능할 수 있습니다. 파일을 덮어 씁니다. " "읽기 전용"태그를 사용하여 파일을 클라이언트 MS Word로 열 가능성이 있습니까? IMsItem을 통해 이제 Windows 탐색기에서 "읽기 전용"특성을 볼 수 있지만 Word는 경고없이 파일을 엽니 다. –

+0

@MicheleNegri : 해결 했습니까? 나는 엑셀과 동일한 문제가 있는데, 엑셀은 읽기 전용 플래그에주의를 기울이지 않는다. 회신의 제안에 따라 Davont에서 구현 한 IContent.Write 메서드에서 내 조건을 검사했습니다. 인위적으로 파일을 잠그는 아이디어도 고려 중입니다 ... – costa

+0

FileAttribute가 완전히 무시됩니다. Word는 어쨌든 편집 모드로 열립니다. 이 작업을 수행 할 수있는 다른 방법이 있습니까? – greenhoorn