星期四, 10月 28, 2010

ASP.NET RSS Toolkit 的使用方法(字串輸出)

今天在處理有關 RSS 的需求,一直以來我遇到 RSS 都會用 ASP.NET RSS Toolkit 的這個人家開發好的 Project 來使用,他的使用方式也很簡單,你可以參考我的好友 demo 寫的 ASP.NET RSS Toolkit快速滿足你對於RSS的需求 的文章就可以了,不過我還是嫌使用方式還是有點小麻煩,所以參考了一下 source code,直接把 Rss 內容用字串的方式 Render 出來,直接看 code 吧!!

/// <summary>
/// Rss Helper
/// </summary>
public class RssHelper
{
/// <summary>
/// 取回Rss內容
/// </summary>
/// <returns></returns>
public string GetRssContent()
{
var rss = new RssToolkit.Rss.RssChannel();
rss.Title = "我的訊息RSS";
rss.Link = "/";
rss.Description = "";
rss.PubDate = DateTime.Now.ToString("r");

var data = GetDb().RssMessages;
List<RssToolkit.Rss.RssItem> rssInfoList = new List<RssToolkit.Rss.RssItem>();
foreach (var item in data)
{
RssToolkit.Rss.RssItem rItem = new RssToolkit.Rss.RssItem();
rItem.Author = item.Author;
rItem.Title = item.Title;
rItem.Description = item.Content;
rItem.Link = String.Format("http://{0}/RSS/{1}", HttpContext.Current.Request.Url.Authority, item.Id);
rItem.PubDate = item.StartDate.GetValue(DateTime.Now).ToString("r");
rssInfoList.Add(rItem);
}
rss.Items = rssInfoList;

var doc = new RssToolkit.Rss.RssDocument();
doc.Channel = rss;
doc.Version = "2.0";
return doc.ToXml(RssToolkit.Rss.DocumentType.Rss).Replace("utf-16", "utf-8");
}
}

這樣就很簡單的把字串直接抓出來,你要怎麼處理就怎麼處理,讚吧!!

參考:

星期二, 10月 12, 2010

(題目)取亂數不重複 2

之前發過一篇文章"(題目)取亂數不重複",這篇文章用了洗牌演算法來做這個需求,這個 method 效率跟功能都很不錯,也時常在專案中使用到,今天在處理相同的問題時,順手問一下同事,也查一下網路的資料,發現有一種寫法也很不錯,這裡也來紀錄一下,直接看 code 吧!!

public class RandomCreator
{
/// <summary>
/// 取出亂數不重複的array
/// </summary>
/// <param name="min">最大值</param>
/// <param name="max">最小值</param>
/// <param name="count">取出的筆數</param>
/// <returns></returns>
public static int[] GetRandomNumber(int min, int max, int count)
{
if (max - min < 0)
throw new Exception("請輸入正確的範圍");

if ((max - min + 1) < count)
throw new Exception("請輸入想取得的正確數字");

int rang = max - min + 1;
return Enumerable.Range(min, rang)
.OrderBy(a => Guid.NewGuid())
.Take(count)
.ToArray();
}
}

上面的方法,就是把範圍取出來,然後用guid去標記之後再排序,因為guid每次都不同,所以就亂數啦,這方法很像我們 MS-SQL 裡面取亂數的方法,很簡單又很直覺,分享一下..^^..

參考:

星期一, 10月 04, 2010

用 Subversion 來自動更新網站版本和更新時間

不知道各位有沒有在用版本控管的程式,小弟有在用 Subversion 這個軟體,來幫我做版本管理,用了一段時間,也越來越習慣 Subversion 這個軟體,今天來分享一下小技巧,先把想法需求說出來。我的目標是想要把 Subversion 的版本更新的時間放在頁面上,讓我就可以方便做出網站版本和更新時間功能..

如下圖

image

這個作法很簡單,只要簡單的設定就行了,看圖說故事吧,首先我們先找到我們要顯示版本頁面的檔案,按下右鍵

image

再選擇 Subversion -> Properties

SNAGHTML522d1e9

接下來看到 Properties 視窗,選擇 New

SNAGHTML5244f14

再把需要修改的內容寫入(需要更多的設定訊息,請看這裡

SNAGHTML525c9ce

這樣設定就完成啦,之後再簡單把程式設定加入就行了,接下去看

image

注意上面這畫框框地方,注意上面紅色框框的地方,Subversion 在更新的時候就會幫你自動取代掉,格式就像下面這樣

image

我們再簡單處理一下內容,就可以了,讚!!

參考:
http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html