2009-07-31 6 views
0

WCF RSS 피드를 통해 데이터베이스에 저장된 Excel 문서를 제공하려고합니다 (사용자가 피드의 링크를 클릭하고 특정 Excel 문서를 보냅니다).WCF 웹 서비스의 동적 URL

Excel 파일은 어디에서나 (각 사용자에게 고정 URL을 제공 할 수있는) 디렉토리에 있지 않습니다.

RSS 피드에 동적으로 생성 된 URL이 있어야합니다 (문서의 ID를 나타냄). 사용자가 URI를 클릭하면 WCF 웹 서비스로 이동하여 Excel 문서를 데이터베이스에서 비 직렬화하여 사용자에게 보냅니다 (표준 열기/저장 Excel 문서 대화 상자가 나타납니다).

불행히도 나는 웹 서비스가 클라이언트가 엑셀 문서라는 것을 이해할 수있는 문서를 보낼 수 없다. 나는 끝점이나 IIS의 MIME 설정 또는 다른 어떤 것을해야한다는 것을 알았지 만 그게 무엇인지 알지 못했습니다.

참고 IIS 7.0에서 호스팅되는 WCF를 사용하고 있습니다.

미리 감사드립니다.

+0

얼마나 멀리 이걸 가지고 계셨습니까? 링크 클릭을 처리하는 코드를 표시하지 않으시겠습니까? "클라이언트가 이해하지 못하는"실제 증상은 매우 자세하지 않습니다. –

+0

실제 증상은 클라이언트가 브라우저에 비트 스트림을 표시한다는 것입니다. Tuzo가 제안한 것을 수행 한 후에 후속 조치를 게시 할 것입니다. –

답변

1

특정 정보를 너무 많이 제공하지는 않지만 MIME 유형을 설정하지 않았을 수 있습니다. 이미 수행 한 작업을 잘 모르지만 WCF Rest Programming Model을 사용하여 원하는 작업을 수행 할 수 있습니다.

핵심 포인트

은에 :
  • 이 MIME 타입 설정 사용자 인터페이스

    • 돌려 스트림 : WebOperationContext.Current.OutgoingResponse.ContentType = "응용 프로그램/vnd.ms-엑셀을"; (위와 같이 엑셀 MIME 유형으로 JPEG MIME 형식을 변경 제외)
    • 정확히 당신이 원하는 일을해야 WebHttpBinding이라는 및 WebHttpBehavior

    MSDN has a full example that returns a JPEG를 사용합니다.

    행운을 빈다.

  • +0

    Tuzo에 감사드립니다. 이 정보는 내가 필요한 정보처럼 들립니다. 나는 먼저해야 할 다른 일이 있지만, 다음날 또는 그 이상에 가서 그 일이 어떻게되는지 알려 줄 것입니다. 다시 고마워. –

    +0

    Tuzo이 트릭을 수행 한 것으로 보입니다. 스트림이 아닌 바이트 []를 반환했으며 WCF에서 MIME 형식을 적절히 설정하지 않았습니다. 다시 도움을 주셔서 감사합니다! –