我收到意外的文件结尾。仅发生在产品服务器上。在开发服务器中工作正常

问题描述 投票:0回答:2

这是我的错误详细信息。

[2022-12-08T15:26:46.1761002Z] Unexpected end of file.
   at System.Xml.EncodingStreamWrapper.ReadBOMEncoding(Boolean notOutOfBand)
   at System.Xml.EncodingStreamWrapper..ctor(Stream stream, Encoding encoding)
   at System.Xml.XmlUTF8TextReader.SetInput(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
   at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(Stream stream)
   at DMS.BusinessLogic.ApiHelper.Deserialize(String xml, Type toType) in d:\InmarsatSourceCode\CRMA-DMS\DMSSourceCode\Sources\DMS.BusinessLogic\DMS.BusinessLogic\APIHelper.cs:line 299

给我错误的跟踪代码如下

 public object Deserialize(string xml, Type toType)
        {
            using (Stream stream = new MemoryStream())
            {
                byte[] data = System.Text.Encoding.UTF8.GetBytes(xml);
                stream.Write(data, 0, data.Length);
                stream.Position = 0;
                DataContractSerializer deserializer = new DataContractSerializer(toType);
                return deserializer.ReadObject(stream);
            }
        }

我想知道为什么相同的代码在开发服务器上工作得很好,而我的本地代码连接到生产服务器。但如果我们登录到产品服务器,一切都会变得混乱。请提出建议。

我们已尝试重新启动生产服务器。尝试分析数据。但无济于事。

最新发现是服务器返回错误 500,对于每一个 500 服务器错误,我都会在 UI 中收到上述消息。我正在从 Visual Studio 连接同一台服务器,并且得到了成功的响应。这和IIS有什么关系吗?但本地 IIS 和生产 IIS 均已启动并正在运行。我已经重新评估了应用程序池。是否有其他 IIS 或服务器依赖项需要验证?

c# asp.net .net xml-parsing
2个回答
0
投票

检查您尝试反序列化的 XML 的编码以及 EOL(行尾)字符。据我所知,错误发生在

System.Xml.EncodingStreamWrapper.ReadBOMEncoding
。所以我相信它与UTF中的BOM(字节顺序标记)有关。


0
投票

Thejasvi,你的问题终于解决了吗? 我也面临着同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.