문제

파일 시스템과 같은 웹 서버를 사용해야하는 응용 프로그램을 작성하고 있습니다. 특히 이상적인 솔루션은 다음과 같습니다.

  • HTTP를 통해 열기 (잠금), 읽기, 쓰기, 찾기 및 자리를 허용하는 서버 측 구성 요소. 여러 파일을 동시에 잠글 수 있어야합니다. 표준 웹 호스트에서 실행해야하므로 서버 측 스크립팅 (웹 서비스, PHP 등)을 사용하여 IIS 또는 Apache 위에서 실행해야합니다.
  • 이에 대한 클라이언트 인터페이스는 URI를 건네주고 파일처럼 열리고 행동합니다. 내 클라이언트 앱은 .NET에 있으므로 이상적으로 클라이언트 API는 FILESTEAM 서브 클래스를 구현합니다.

내가 필요한 이유는 웹 호스트에 앉을 파일이 다소 큰 파일이 있기 때문입니다. 파일의 일부 (Seek 사용)를 읽고 자르고 끝까지 추가해야합니다. 전체 파일 다운로드 및 업로드는 너무 대역폭 집약적입니다. 또한 여러 파일을 동시에 고정해야합니다.

내 질문 :

  • 그런 것이 존재합니까?
  • 그렇지 않다면 왜 그렇지 않습니까? 이것은 매우 유용한 서비스처럼 보이지 않습니까?

그러한 구성 요소를 사용하면 네트워크 파일 서버로 웹 호스팅 회사를 사용할 수 있습니다. 유용한 것 같아요?

당신의 도움을 주셔서 감사합니다!

에릭

도움이 되었습니까?

해결책

당신이 찾고있는 것은 Webdav 섬기는 사람.

다른 팁

긴 버전
웹 호스트는 원래 개별 연결에서 컨텐츠 사용자를 보내도록 설계되었습니다. 세션의 전체 개념은 비교적 현대적인 현상 (핵심 단어 : 비교적)입니다. 대부분은 동일한 사용자의 개별 연결을 추적하는 방법입니다. 종종 그냥주는 것입니다 인상 실제로 연결, 다운로드, 연결이 끊어 졌을 때 여전히 서버에 연결되어 있으며 조치를 취할 때마다 동일한 연결/다운로드/연결을 수행합니다.

특별히 설계된 소프트웨어가 HTTP를 통해 서버로보다 복잡한 통신을 할 수있는 표준 HTTP 대화 상자에 추가 된 WebDav와 같은 것들. Webdav에 대한 매우 일반적인 사용은 전복, ical (캘린더링 지원) 등입니다. 단일 연결 데이터 업로드.

당신이 말하는 것은 세션 기반 파일 시스템 서비스를 갖는 것입니다. 그것이 좋은 서비스가 될 것으로 보이지만, 나는 복잡성과 위험으로 인해 혜택을 능가하여 구현되지 않았다고 생각합니다. 예를 들어, 이러한 서비스는 표준 파일 시스템 문제 (승인, 파일 권한, 잠금, 시간 초과 등)에 대해 걱정해야 할뿐만 아니라 웹에있는 복잡성 (인증, 세션 추적, 연결 해제, 재생 공격, DDO 등). 예를 들어 클라이언트가 파일을 잠그고 오프라인으로 떨어지면 어떻게됩니까? 서버가 재부팅 될 때까지 파일이 잠긴 상태로 유지됩니까? 그렇지 않다면 언제 파일을 자동으로 잠금 해제합니까? 자동 발행이 트리거되고 원래 사물함이 온라인으로 돌아 오면 어떻게됩니까? 당신은 한 번의 연결로 모든 것을 강제로 보상하기 위해 강요합니까? 세션 중간에 연결이 끊어지면 어떻게됩니까?

그들은 당신이 걱정해야 할 몇 가지 일뿐입니다. 나는 내가 생각했던 것보다 훨씬 오래 걸렸지 만 결론은 ...

짧은 버전
WebDav를 사용하여이를 구현할 수 있으므로 서버 측 라이브러리를 구축해야합니다. 그러나 불가능하지는 않지만, 당신은 디자인 된대로 상처의 세계를 위해 있습니다. 파일 시스템처럼 행동 할 필요가 없도록 디자인을 단순화하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top