我刚刚开始在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