2009-05-05 42 views
0

新的一天,新的问题:-)通过插入图像过3MB LINQ到SQL

代码:
客户端:

void abw_Closed(object sender, EventArgs e) 
{ 
    DbServiceClient sc = new DbServiceClient(); 
    abw = (AddBlobWindow)sender; 
    fi = ((AddBlobWindow)sender).fi; 
    if ((bool)((AddBlobWindow)sender).DialogResult) 
    { 
     blob = new Blob(); 
     binBlob = new Binary(); 
     binaryBlob = new byte[fi.Length]; 

     int n = fi.OpenRead().Read(binaryBlob,0,Convert.ToInt32(fi.Length)); 

     binBlob.Bytes = binaryBlob; 
     blob.Content = binBlob; 
     blob.Signature = abw.tbSignature.Text; 
     blob.Size = (int)fi.Length; 

     sc.SaveBlobCompleted += new EventHandler<AsyncCompletedEventArgs>(sc_SaveBlobCompleted); 
     sc.SaveBlobAsync(blob); 
     } 
    } 

服务器端服务代码:

[OperationContract] 
public void SaveBlob(Blob blob) 
{ 
    try 
    { 
     RichTekstModelDataContext dc = new RichTekstModelDataContext(); 
     dc.Blobs.InsertOnSubmit(blob); 
     dc.SubmitChanges(); 
    } 
    catch (Exception ex) { string s = ex.Message; } 
} 

问题: 当我试图保存内容字段小于3mb的blob时,它可以很好地工作,但是当blob超过3 MB时,我得到“未找到”异常( --->在Refernece.cs误差线)文件

public void EndSaveBlob(System.IAsyncResult result) { 
    object[] _args = new object[0]; 

----> base.EndInvoke( “SaveBlob”,_args,结果); }我不知道如何解决它。我已经在web.config中设置了适当的缓冲区大小,但stil不起作用。

感谢您的帮助。

回答