我们使用WCF-RIA定义的服务操作将位图从Silverlight客户端发送到要保存的服务器。我们的DomainService类看起来有点像这样:
[EnableClientAccess()]
public class CBitmapSavingService : DomainService
{
public void SaveBitmap(string bitmapGuid, byte[] pngBytes)
{
// Save PNG on server file system
}
}
工作正常,直到我们得到一个大位图。然后我们得到一个'DomainOperationException'异常。
我怀疑我们超过了参数或消息的大小限制。
我可以重新配置我的服务,以便可以使用WCF-RIA-Services从客户端发送更大的位图吗?
答案 0 :(得分:2)
我对我的web.config文件进行了以下更改:
<httpRuntime requestValidationMode="2.0" maxRequestLength="6225920"/>
它有效。 (为什么6225920?压缩之前的2048 * 760位图的大小,我得选择一些东西)
我在其他网站上找到了答案:http://forums.silverlight.net/forums/p/186772/440463.aspx
这仅仅是为了我们的短期修复,因为我们并不真的想要在服务器上使用如此大的位图。我计划进行客户端更改,以便更改图片类型(PNG或JPEG)和质量,以创建定义的最大尺寸内的图像。