Я только начал писать Class Library
в C#, который будет реализовывать Gets, Posts (Http Requests of Post and Gets) и oAuth (метод аутентификации с использованием маркеров токенов).Какой лучший подход для Lib, который расширяет класс HttpWebRequest?
В настоящее время каждый апликация, которую я и мои коллеги пишут, имеют свой собственный класс «HttpMethods», который отвечает за выполнение Gets and Posts.
Вот быстрый Пример Получить То, что мы имеем:
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
Я не буду использовать .NET. Это будет использоваться в настольных приложениях C#. Мне нужна помощь, чтобы выяснить, как я должен создать метод «Get», например. –
Какой совет вы ищете? Все, что вы делаете, это писать собственный собственный класс оболочки вокруг существующего. Там действительно нет больше, чтобы реализовать его, как вам это нужно. – cdeszaq