Jak zalecałbyś obsługę źródeł danych RSS w ASP.NET MVC? Korzystasz z biblioteki innej firmy? Korzystasz z RSS w BCL? Po prostu tworzysz widok RSS, który renderuje XML? A może coś zupełnie innego?
asp.net-mvc
rss
Lance Fisher
źródło
źródło
Odpowiedzi:
Oto co polecam:
Gdy zmienisz typ zawartości na rss, będziesz chciał serializować dane do RSS (używając własnego kodu lub innej biblioteki) i napisać do odpowiedzi.
Utwórz akcję na kontrolerze, który chcesz zwrócić rss i ustaw typ zwracania jako RssResult. Pobierz dane z modelu na podstawie tego, co chcesz zwrócić.
Wtedy każde żądanie dotyczące tej akcji otrzyma rss dowolnych danych, które wybierzesz.
Jest to prawdopodobnie najszybszy i możliwy do ponownego użycia sposób zwrócenia odpowiedzi na żądanie w ASP.NET MVC.
źródło
base("application/rss+xml")
i uniknąć kroków 3 i 4. Zastępuje on ExecuteResult, ale nie jest to istotne. On również skróty dużo kodu typowo samodziałowego i wykorzystuje 3.5+ cechySyndicateItem
,SyndicateFeed
orazRss20FeedFormatter
.Platforma .NET udostępnia klasy, które obsługują syndykację: SyndicationFeed itp. Więc zamiast wykonywać renderowanie samodzielnie lub korzystać z innej sugerowanej biblioteki RSS, dlaczego nie pozwolić, aby framework się tym zajął?
Zasadniczo potrzebujesz tylko następującego niestandardowego ActionResult i jesteś gotowy do pracy:
Teraz w akcji kontrolera możesz po prostu zwrócić:
Pełna próbka znajduje się na moim blogu pod adresem http://www.developerzen.com/2009/01/11/aspnet-mvc-rss-feed-action-result/
źródło
Zgadzam się z Haackedem. Obecnie wdrażam moją witrynę / blog przy użyciu frameworka MVC i zdecydowałem się na proste podejście do tworzenia nowego widoku dla RSS:
Aby uzyskać więcej informacji, sprawdź (bezwstydna wtyczka) http://rickyrosario.com/blog/creating-an-rss-feed-in-asp-net-mvc
źródło
Kolejnym szalonym podejściem, ale ma swoją zaletę, jest użycie normalnego widoku .aspx do renderowania RSS. W swojej metodzie akcji wystarczy ustawić odpowiedni typ zawartości. Jedną z zalet tego podejścia jest to, że łatwo jest zrozumieć, co jest renderowane i jak dodawać niestandardowe elementy, takie jak geolokalizacja.
Z drugiej strony, inne wymienione podejścia mogą być lepsze, po prostu ich nie używałem. ;)
źródło
Dostałem to od Erana Kampfa i wideo Scotta Hanselmana (zapomniałem linku), więc różni się tylko nieznacznie od niektórych innych postów tutaj, ale mam nadzieję, że jest pomocny i skopiuj wklej gotowy jako przykładowy kanał rss.
Z mojego bloga
Eran Kampf
A kod kontrolera ...
źródło