Microsoft MVP성태의 닷넷 이야기
basicHttpBinding stream 전송에 관하여 질문드립니다. [링크 복사], [링크+제목 복사],
조회: 18009
글쓴 사람
송준호 (ikinye337 at nate,com)
홈페이지
첨부 파일
 

안녕하세요 wcf 서비스를 구축중인 비루한 개발자입니다. ^^;

다름이 아니라 wcf를 구현중에 난관에 봉착해서 글을 올렸습니다.

많은 도움의 말씀 부탁드리겠습니다.

 

현재 MessageContract로 파일 다운로드를 위해

stream을 Client(wpf) 로 전송 하는 서비스를 만들었습니다.

binding은 basicHttpBinding 이구요 stream 전송에는 이상이 없습니다.

하지만 요구사항중에 파일 다운로드 중 취소를 가능하게 해달라고 해서 취소 기능을 구현했는데,

취소를 시도 할 경우 해당 파일의 stream을 끝까지 읽고 다음 동작이 가능한 현상을 발견했습니다.

(다운로드 받으려는 파일이 크면 클수록 지연시간이 길어지는 현상입니다.)

혹시 좋은 의견 갖고 계시면 말씀해 주시기 바랍니다.

(설정 관련 부분은 거의 기본 설정입니다.)

web.comfig 이구요

 

<basicHttpBinding>
        <binding name="HttpServiceFrontBinding" transferMode="StreamedResponse" />
MessageContract 입니다.

 

 

    [MessageContract]
    [Serializable]
    public class MediaStreamResponse : StreamResponse
    {
        [MessageHeader]
        public long MediaVersion { get; set; }

        [MessageHeader]
        public long StartPosition { get; set; }
    }
 

    [MessageContract]
    public class StreamResponse
    {

        [MessageHeader]
        public long? Length { get; set; }

        [MessageBodyMember]
        public Stream Stream { get; set; }
    }








[최초 등록일: ]
[최종 수정일: 8/11/2012]


비밀번호

댓글 작성자
 



2012-08-12 05시44분
그러니까, 클라이언트 측에서 WCF 메서드 호출로 받은 Stream 개체로 while 문 내에서 Read 메서드를 통해 다운로드를 할 텐데요. 그 와중에 사용자가 취소를 하면 while 문을 벗어나서 WCF Proxy 개체를 닫으면 되는 거 아닌가요? "취소를 시도 할 경우 해당 파일의 stream을 끝까지 읽고 다음 동작이 가능한 현상을 발견했습니다."라고 말씀하신 동작을 좀더 구체적으로 설명해 주시면 제가 답변하기에 더 수월할 것 같습니다. ^^
정성태

... 91  92  93  94  95  [96]  97 
NoWriterDateCnt.TitleFile(s)
46정성태5/31/200413303    답변글 [답변]: 웹페이지 자동로그인..
44반데라이차5/26/200412451안녕하세요~저 오크에요~~^^* [1]
43이윤복4/22/200411311윤보기 입니다.
48정성태5/31/200412618    답변글 [답변]: 윤보기 입니다.
40김대웅2/26/200413705메일 드렸는데.. 읽어보셨는지 모르겠네요.. 많이 바쁘신것 같아요..
41정성태2/29/200412576    답변글 [답변]: 메일 드렸는데.. 읽어보셨는지 모르겠네요.. 많이 바쁘신것 같아요..
42정성태3/6/200413829    답변글 [답변]: 메일로 답변을 드렸는데. 메일이 자꾸 반송되네요. 여기서 답변드립니다.
38문우영1/19/200412145ㅋㅋ 한글 아이디도 되는군요.!!
39정성태1/26/200412722    답변글 [답변]: 다행이네요. ^^;
33신종화1/9/200413632성태님 오랬만이군요 ^^ 새해복 많이 받으세요
35정성태1/17/200411696    답변글 [답변]: 성태님 오랬만이군요 ^^ 새해복 많이 받으세요
32김기영1/5/200412473질문인데요... 웹브라우저로 text를 전송할 수 있을까요??
34정성태1/17/200411966    답변글 [답변]: 질문인데요... 웹브라우저로 text를 전송할 수 있을까요??
28박소연10/30/200315948c언어를 이용한 가계부 프로그램
31정성태12/17/200317384    답변글 [답변]: c언어를 이용한 가계부 프로그램
27임영택9/17/200312572atl com에서 Window Handle 구하고 싶은데(바쁘시더라도 꼭 답변 해주세요!!)
30정성태12/17/200313000    답변글 [답변]: atl com에서 Window Handle 구하고 싶은데(바쁘시더라도 꼭 답변 해주세요!!)
26임영택9/15/200311998IE에서 submit 버튼을 누를때 발생하는 이벤트를 받을수 있나요?
29정성태12/17/200312093    답변글 [답변]: IE에서 submit 버튼을 누를때 발생하는 이벤트를 받을수 있나요?
24임영택9/14/200312137실행중인 DLL과 통신하는 방법?
25임영택9/15/200312263    답변글 [답변]: 자답(해결했습니다)
21박용운7/29/200311814잠긴파일에서...
22박용운7/30/200313271    답변글 왜 MoveFileEx가 먹히지를 않을까요?
23박용운7/30/200313103        답변글 [자답]
19김진호7/28/200312263atl 디버깅
20정성태7/29/200312262    답변글 [답변]: atl 디버깅
... 91  92  93  94  95  [96]  97