C# 1不是受支持的代码页

C# 1不是受支持的代码页,c#,asp.net,.net,iis,C#,Asp.net,.net,Iis,我们在日志中看到此异常:“1不是受支持的代码页”。它在站点上随机出现,并在随机时间出现,但总是在2个位置中的1个:读取上载文件的字节流,或将字节流写入响应。错误很难重现,修复方法是回收出现问题的IIS节点 文件上传和下载几乎一直有效,因此代码确实有效。我们并没有做任何不愉快的事情,比如旋转一个后台线程来做这个处理,但是我们正在使用的各种库可能是 一些例子: 从C#框架代码: 消息:无法将索引0处的字节[C0]从指定的代码页转换为Unicode。StackTrace:在 位于的System.Tex

我们在日志中看到此异常:“1不是受支持的代码页”。它在站点上随机出现,并在随机时间出现,但总是在2个位置中的1个:读取上载文件的字节流,或将字节流写入响应。错误很难重现,修复方法是回收出现问题的IIS节点

文件上传和下载几乎一直有效,因此代码确实有效。我们并没有做任何不愉快的事情,比如旋转一个后台线程来做这个处理,但是我们正在使用的各种库可能是

一些例子:

从C#框架代码:

消息:无法将索引0处的字节[C0]从指定的代码页转换为Unicode。StackTrace:在 位于的System.Text.DecodeXceptionFallbackBuffer.Throw(字节[]bytesUnknown,Int32索引) 位于的System.Text.DecodeXceptionFallbackBuffer.Fallback(字节[]bytesUnknown,Int32索引) 位于的System.Text.DecoderFallbackBuffer.InternalFallback(字节[]字节,字节*pBytes,字符*&chars) System.Text.UTF8Encoding.GetChars(字节*字节,Int32字节数,字符*字符,Int32字符数,DecoderNLS baseDecoder)位于 位于System.Xml.ValueHandle.TryReadChars(Char[]chars,Int32 offset,Int32 count,Int32&actual)处的System.Text.UTF8Encoding.GetChars(Byte[]bytes,Int32 byteIndex,Int32 byteCount,Char[]chars,Int32 charIndex,Int32 charIndex) 位于的System.Xml.XmlBaseReader.ReadValueChunk(Char[]chars,Int32偏移量,Int32计数) 位于的System.Xml.XmlBinaryWriter.WriteTextNode(XmlDictionaryReader读取器,布尔属性) System.Xml.XmlDictionaryWriter.WriteNode(XmlDictionaryReader,Boolean defattr)位于 System.ServiceModel.Channel.ReceivedMessage.OnWriteBodyContents(XmlDictionaryWriter编写器)位于 System.ServiceModel.Channel.Message.OnWriteMessage(XmlDictionaryWriter编写器)位于 位于的System.ServiceModel.Channel.Message.OnCreateBufferedCopy(Int32 maxBufferSize,XmlDictionaryReaderQuotas) 位于的System.ServiceModel.Channel.Message.CreateBufferedCopy(Int32 maxBufferSize) Daptiv.Api.WcfRest.ServiceModel.Extensions.XmlPropertySorterMessageInspector.AfterReceiveRequest(消息和请求,IClientChannel通道,InstanceContext InstanceContext)位于{source redacted} System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.AfterReceiveRequestCore(MessageRpc&rpc)位于 位于的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&rpc) 位于的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc) System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)来源:mscorlib TargetSite:Void Throw(Byte[],Int32)帮助链接:{NULL}索引:0 ParamName:{NULL}HResult:-2147024809 BytesUnknown:[字节[]:哈希代码{3297007}{192}数据:[ListDictionaryInternal]:哈希代码{44361946}{InnerException:{NULL}

从Aspose.Tasks:

消息:1不是受支持的代码页。参数名称:codepage StackTrace:at System.Text.Encoding.GetEncoding(Int32 codepage)at?()at?.ctor(Stream Stream)at?.Stream?.at?.B.?()at Aspose.Cells.Workbook.?(Stream?、LoadOptions?)at Aspose.Cells.Workbook.?(String?、LoadOptions?)at


感谢您抽出时间查看此内容。我们继续挖掘,发现出错的页面与使用Aspose.Cells程序集的页面之间存在很强的相关性。我们相信升级这个组件将解决这个问题,因为我们正在使用的是一个非常旧的


因此,对于将来关注此问题的任何人:检查并确保所有第三方程序集都是最新的。任何超过几年的文件都应被视为可疑文件,除非另有证明。

我猜您正在将某个文件(可能格式不正确)上载到您的站点。您是否有权访问导致此错误的上载文件?这将允许你再次运行它,并找出到底是什么坏了。谢谢-我们没有访问正在上载的内容。请参阅下面的答案。堆栈跟踪显示了对位于
Daptiv.Api.WcfRest.ServiceModel.Extensions.XmlPropertySorterMessageInspector.AfterReceiveRequest
的非框架代码的调用。如果这是您的代码,请更新您的问题以向我们显示该方法中发生了什么。如果没有看到抛出错误的代码,就不可能有人能够帮助您。谢谢Matt-不需要更多帮助。我已经标记了问题的答案。如果你真的找到了答案,那么请随意回答你自己的问题,但这里写的不是问题的答案。如果您需要添加其他信息,请编辑您的问题。可能不是答案,但足以为我们解决问题。如果这不是答案,我会用更好的答案更新帖子。