Я пытаюсь создать RSS-канал для моего веб-сайта ASP.NET MVC 5. Я создал несколько классов для создания XML с помощью XmlSerializer
. Я использую этот сериалайзер внутри специального Result
класса, который образовавшийся из FileResult
:MVC Создайте RSS/Atom Feed с FileResult
public class RssResult : FileResult
{
public RssResult() : base("application/rss+xml") { }
protected override void WriteFile(HttpResponseBase response)
{
var seri = new XmlSerializer(typeof(RssFeed));
seri.Serialize(response.OutputStream, this.Feed);
}
public RssFeed Feed { get; set; }
}
Тогда я написал метод расширения для Controller
:
public static RssResult RssFeed(this Controller controller, RssFeed feed, string FileDownloadName = "feed.rss")
{
return new RssResult()
{
Feed = feed,
FileDownloadName = FileDownloadName
};
}
Если я вызываю действие, которое возвращает RssResult
Firefox и Интернет Проводник запрашивает у меня загрузку файла. Но я хочу видеть типичные интерфейсы читателей браузеров.
Что я делаю неправильно здесь, соответственно, что я должен изменить?
Ах, вот оно что :) я изменил свои классы, чтобы они порождают из 'ContentResult'. – Koopakiller