C# Memcached.Net客户端缓冲流错误

C# Memcached.Net客户端缓冲流错误,c#,c#-4.0,memcached,C#,C# 4.0,Memcached,我正在尝试使用Memcached.ClientLibrary。我能够让它工作,但在点击几下之后(甚至在我第一次看到一个页面之前),我发现了一个奇怪的错误,在搜索时我找不到任何信息 错误消息: 如果基础流不可查找,则当读取缓冲区不为空时,无法写入BufferedStream。确保此BufferedStream下面的流可以在该BufferedStream上查找或避免交错读写操作 堆栈跟踪: [NotSupportedException: Cannot write to a BufferedStrea

我正在尝试使用Memcached.ClientLibrary。我能够让它工作,但在点击几下之后(甚至在我第一次看到一个页面之前),我发现了一个奇怪的错误,在搜索时我找不到任何信息

错误消息:

如果基础流不可查找,则当读取缓冲区不为空时,无法写入BufferedStream。确保此BufferedStream下面的流可以在该BufferedStream上查找或避免交错读写操作

堆栈跟踪:

[NotSupportedException: Cannot write to a BufferedStream while the read buffer is not empty if the underlying stream is not seekable. Ensure that the stream underlying this BufferedStream can seek or avoid interleaving read and write operations on this BufferedStream.]
System.IO.BufferedStream.ClearReadBufferBeforeWrite() +10447571
System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count) +163
Memcached.ClientLibrary.SockIO.Write(Byte[] bytes, Int32 offset, Int32 count) in C:\devroot\memcacheddotnet\trunk\clientlib\src\clientlib\SockIO.cs:411
Memcached.ClientLibrary.SockIO.Write(Byte[] bytes) in C:\devroot\memcacheddotnet\trunk\clientlib\src\clientlib\SockIO.cs:391
Memcached.ClientLibrary.MemcachedClient.Set(String cmdname, String key, Object obj, DateTime expiry, Object hashCode, Boolean asString) in C:\devroot\memcacheddotnet\trunk\clientlib\src\clientlib\MemCachedClient.cs:766
Memcached.ClientLibrary.MemcachedClient.Set(String key, Object value, DateTime expiry) in C:\devroot\memcacheddotnet\trunk\clientlib\src\clientlib\MemCachedClient.cs:465
Yuusoft.Julian.Server.Models.Utils.Caching.CacheWrapper.Add(CacheKey key, T o, CacheDependency dependencies, Nullable`1 expirationTime, CacheItemRemovedCallback callBack)
我要初始化的代码(静态构造函数):

//要设置的代码(第二个是出错的代码-但不是在第一次命中时?!)

//要获取的代码

        MemcachedClient mc = new MemcachedClient();
        object o = mc.Get(key);

除了这个异常,memcached.ClientLibrary的memcachedlog4net日志中还存在以下两个异常(
在缓存中存储key:
的数据时出错,以及在尝试从缓存中获取key:的对象时抛出的
异常)。我能够解决所有这些问题
通过确保memcached键不包含任何空格,有三个例外

参考资料:


Memcached版本:Memcached-win32-1.4.4-14

@DarthVader,发布了我的代码。你有什么想法吗?有什么东西可以给我指出正确的方向吗?@FabioMilheiro如果这个问题没有解决,请发布你的解决方案resolved@AbdulRaufMujahid,道歉这是一个我最后没有完成的老实验。我的情况很好,除了上面提到的例外。我的memcached日志中也存在以下2个异常(
在缓存中存储密钥数据时出错:
和尝试从缓存中获取密钥对象时引发的
异常:
),通过确保memcached密钥不包含任何空格,我能够解决所有这3个异常。@AbdulRaufMujahid,感谢分享。如果你把它作为一个答案,我很乐意接受你的回答。
        MemcachedClient mc = new MemcachedClient();
        mc.Set(key, o, expirationTime.Value);
        MemcachedClient mc = new MemcachedClient();
        object o = mc.Get(key);