2012-01-20 4 views
0

내 응용 프로그램은 끈적 세션을 사용하지 않는 웹 팜에 배포됩니다. (불행히도 이것은 옵션이 아닙니다.) 클라이언트 브라우저가 이미지가 렌더링 된 동일한 서버로 항상 리디렉션되지는 않으므로 차트 이미지를 웹 서비스에 쓰고 거기에서 읽으려고합니다. 보안 제한으로 인해 파일 서버를 사용할 수없고 wcf 서비스에만 IIS 서비스의 데이터베이스에 대한 액세스 권한이 없습니다.ASP.NET MS Chart에서 Http Handler를 사용하여 웹 서비스에서 Tempory 이미지를 읽고 쓸 수 있습니까?

답변

0

그래서 묻고 있습니다 :

클라이언트 -> WS 통화 -> ?? 차트를 생성하는 HTTPHandler?

왜 웹 서비스 부분이 필요한지 잘 모르겠습니다.

HTTPHandler를 사용하면이 이미지를 효과적으로 생성 할 수 있습니다. 차트 개체를 인스턴스화하고 출력 스트림에 씁니다.

그물에서 스트림에 저장하는 것에 대한 몇 가지 샘플 코드.

Response.ContentType = "image/png"; 
//Response.AddHeader("Content-Disposition", "attachment; filename=test.png"); // You only want this to save as attachment 
Chart4.SaveImage(Response.OutputStream, ChartImageFormat.Png);   
Response.End(); 
+0

이것은 올바른 방향으로 가고 있습니다. 나는 다음과 같은 유용한 링크를 발견했다. http://www.4guysfromrolla.com/articles/093009-1.aspx http://stackoverflow.com/questions/46788/how-to-bind-a-memorystream-to-aspimage-control . 나는 MS Chart 컨트롤에서 만든 메모리 스트림을 반환하는 페이지를 만든 다음 이전 페이지의 ImageUrl과 함께 asp : image를 추가했습니다. 웹 서비스 뒤에 이미지 차트를 저장할 필요가 없습니다. – Keith

+0

좋은 소리입니다. 내가 추가 할 한 가지 점은 페이지 수명주기의 전체 오버 헤드가있는 반면 HTTPHandler를 사용하면 당연히 그렇지 않다는 것입니다. 따라서 사용자 지정 이미지를 구현하는 데 선호되는 방법 등은 요구 사항에 따라 다릅니다. –