我正在尝试将图片从我的 Windows Phone 发送到需要 System.Drawing.Bitmap 的 WCF 服务。但是,我无法从手机中获取 BitmapImage,并在 WCF 服务上获取 Bitmap。我在 C# 中这样做。
我尝试将 BitmapImage 制作成 byte[],通过 WCF 发送它,然后将其转换回 BitmapImage,然后将其转换为 Bitmap。我可以得到BitmapImage的大小,但是图像中的数据是空的。任何可能出错的线索?
我该怎么做呢?
我正在尝试将图片从我的 Windows Phone 发送到需要 System.Drawing.Bitmap 的 WCF 服务。但是,我无法从手机中获取 BitmapImage,并在 WCF 服务上获取 Bitmap。我在 C# 中这样做。
我尝试将 BitmapImage 制作成 byte[],通过 WCF 发送它,然后将其转换回 BitmapImage,然后将其转换为 Bitmap。我可以得到BitmapImage的大小,但是图像中的数据是空的。任何可能出错的线索?
我该怎么做呢?
问题可能出在maxReceivedMessageSize
. 你说你可以得到 BitmapImage 的大小,但它是正确的大小吗?如果没有,则在 WCF 的 web.config 中添加以下行:
<bindings>
<wsHttpBinding>
<binding name="wsHttp"
maxReceivedMessageSize ="50000000"
messageEncoding="Mtom"
maxBufferPoolSize="50000000" >
<readerQuotas maxDepth="32"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="8192"
maxNameTableCharCount="2147483647" />
</binding>
</wsHttpBinding>
</bindings>
现在再试一次,它现在应该可以工作了。