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()
메소드를 호출하는 것으로, 예를 들어 바이트 (의 배열로 비트 맵을 작성해야 할 경우 :
경우에 따라이 솔루션이 작동하지만 이미지가 커지면 (많은 바이트로) wcf 예외가 발생합니다. – Jehof
전 그 사실을 완전히 알고 있습니다. – Nuffin
@Jehof 당신이 말한 것이 정확합니다. 나는 약간의 오류가있다. 하지만 일부 값을 증가 시켰습니다. maxBufferSize = "50000000"maxBufferPoolSize = "50000000"maxReceivedMessageSize = "50000000". 그리고 그것은 잘 작동합니다. –