我剛剛開始在C#中編寫一個Class Library
,它將執行獲取,發佈(Post和Get的Http請求)和oAuth(使用令牌邏輯的身份驗證方法)。什麼是擴展HttpWebRequest類的Lib的最佳方法?
目前,我和我的同事們寫的每個應用都有自己的「HttpMethods」類,它負責執行獲取和發佈。
這裏的一個簡單的例子得到我們有:
public string Get(string url, string refererPage = "")
{
string response = null;
try
{
// Web request
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = m_timeout;
request.Method = "GET";
request.Referer = refererPage;
request.CookieContainer = m_CookieJar;
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.ServicePoint.ConnectionLimit = Consts.CONNECTIONS_LIMIT;
request.UserAgent = Consts.URI_USER_AGENT;
request.AllowAutoRedirect = true;
request.Host = Consts.API_HOST;
// Web response
using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
response = new StreamReader(resp.GetResponseStream()).ReadToEnd();
}
catch (Exception ex)
{
LogWriter.Error(ex);
}
return response;
}
我的問題是:這將是我們addopt最好的方法? 我們希望有我們自己的lib將使用HttpWebRequest object
,結局有些事情是這樣的:
MyOwnDll.MyOwnClassResponsibleForWebRequests.Get (Parameters)
同爲POST方法。
我該怎麼辦?
在此先感謝
不知道你在問什麼,你似乎知道你需要做什麼。你需要幫助製作圖書館還是編寫實現獲取?無論如何,當我這樣做時,我使用套接字,所以我有更多的控制權,所以如果你要經過努力,我建議擴展套接字。但是如果你使用的是.net 3.5+,你可以使用擴展方法,這對你正在嘗試做的事情可能更容易。 – bebonham 2012-01-05 17:22:40
我不會使用.NET。這將用於桌面c#應用程序。我需要幫助弄清楚我應該如何構建「Get」方法。 – 2012-01-05 17:26:20
你在尋找什麼建議?你所做的就是在現有的包裝類中編寫你自己的包裝類。實際上沒有什麼可以實現它,你需要它。 – cdeszaq 2012-01-05 17:27:27