2012-01-10 1 views
1

나는 스크린 샷을 DB에 저장하려고한다. 하지만 RIA Services 메소드 서명을 이해할 수는 없습니다. 어떤 단서, 제발!RIA 서비스 메소드 서명으로 비트 맵을 매개 변수로 전달 하시겠습니까?

///////// Client Code ///////////////// 
    Graphics gfx; 
      Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); 
      gfx = Graphics.FromImage(bmp); 
      gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); 
////////////////////////////////////// 


[Invoke] 
public void SaveScreen(?????) 
{ 

} 

감사합니다.

[Invoke] 
public void SaveScreen(byte[] image) 
{ 
    // Code to store the image in the database 
} 

이를 사용하여 당신은 단지 MemoryStream에 저장하고 스트림의 ToArray() 메소드를 호출하는 것으로, 예를 들어 바이트 (의 배열로 비트 맵을 작성해야 할 경우 :

답변

2

서버 코드는 다음과 같이한다) 서버로 밀어 넣으십시오.

+0

경우에 따라이 솔루션이 작동하지만 이미지가 커지면 (많은 바이트로) wcf 예외가 발생합니다. – Jehof

+0

전 그 사실을 완전히 알고 있습니다. – Nuffin

+0

@Jehof 당신이 말한 것이 정확합니다. 나는 약간의 오류가있다. 하지만 일부 값을 증가 시켰습니다. maxBufferSize = "50000000"maxBufferPoolSize = "50000000"maxReceivedMessageSize = "50000000". 그리고 그것은 잘 작동합니다. –