c# - Response.Write(RSS) 导致 Javascript 异常 : "Unspecified error" (IIS 7. 5)

标签 c# javascript .net xml rss

我正在尝试使用 ASP.NET 和 Response.Write 来输出我自己的 RSS-feed。程序代码本身不会导致错误/异常。但是,当使用 Response.Write 输出时,我在 JS 脚本 HttpErrorpagesscript 中收到错误。我收到的错误是运行时错误 Microsoft JScript:未指定错误

它发生在以下行:

function initMoreInfo(infoBlockID)
{
   var bElement = document.createElement("A"); 
   bElement.innerText = L_MOREINFO_TEXT; <--- Break happens here
   bElement.href = "javascript:expandCollapse(\'infoBlockID\', true);";
   moreInfoContainer.appendChild(bElement);
}

我不知道错误的根源,因此我提供 C# 来输出 xml。

        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        StringBuilder builder = new StringBuilder();

        using (XmlWriter writer = XmlWriter.Create(builder, settings))
        {
            // Write startelement
            writer.WriteStartDocument();
            //Write elementRSS
            writer.WriteStartElement("rss");
            //Write channel
            writer.WriteStartElement("channel");
            //Write title
            writer.WriteElementString("title","RSS-Feed svranken");
            //Write Ttl
            writer.WriteElementString("ttl","1");

            foreach (SyndicationItem rssItem in syndFeed.Items.OrderByDescending(x => x.PublishDate).Take(25))
            {

                writer.WriteStartElement("item");

                //Write Elements
                writer.WriteElementString("PubDate", rssItem.PublishDate.ToString("yyyy-MM-dd HH:mm:ss"));
                writer.WriteElementString("title", rssItem.Title.Text);
                writer.WriteElementString("description", rssItem.Summary.Text);
                writer.WriteElementString("link", rssItem.Id.ToString());

                writer.WriteEndElement();
            }

            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndDocument();
        }

        Response.AddHeader("Content-Type", "text/xml");
        Response.Write(builder.ToString());

有人发现错误了吗?我在这里缺少什么?

感谢您的宝贵时间

注意:我上面提供的 Javascript 不是我的解决方案的一部分。我认为它是由我的本地 IIS 自动生成的。

更新: IISExpress 产生与 Visual Studio 开发服务器相同的错误

最佳答案

我找到了解决方案。

根源在于RSS输出方式错误。经过一些搜索/修复后,我提出了以下工作解决方案:

所以正确的代码是

        Response.ContentType = "application/rss+xml";
        Response.ContentEncoding = System.Text.Encoding.UTF8;

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(builder.ToString());
        xmlDoc.Save(Response.OutputStream);
        Response.End();

谨致问候

关于c# - Response.Write(RSS) 导致 Javascript 异常 : "Unspecified error" (IIS 7. 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721417/

相关文章:

c# - 为什么 .Net Math.Cos 函数给我的答案与计算器不同?

c# - 如何卸载 ClickOnce 应用程序?

c# - 将基于 SQL 的应用程序转换为 Redis

c# - 从集合中删除在 Nhibernate 中不起作用

c# - 使用C#从flv文件中提取信息

javascript - 如何在单独的行上打印对象中的所有键

javascript - for 循环在回调完成之前退出

c# - 如何从设备管理器获取信息?

c# - C#中最常用的接口(interface)是什么?

javascript - 如何获得隐藏图像的高度?