2012-01-05 12 views
0

私は、Get、Posts(PostとGetのHttpリクエスト)とoAuth(トークンロジックを使用した認証メソッド)を実装するC#でClass Libraryを書き始めました。HttpWebRequestクラスを拡張するライブラリの最適なアプローチは何ですか?

現在、すべての私と私の同僚は、取得と投稿の実行を担当する独自の "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するための最善のアプローチされる?ここ

は、我々が持っていることを取得する簡単な例でありますか 私達はちょうどこのような何かに終わる、HttpWebRequest objectを使用する私たち自身のlibを持つようにしたい:ポストする方法について

MyOwnDll.MyOwnClassResponsibleForWebRequests.Get (Parameters) 

同じ。

どうすればよいですか?私はあなたがFactory Patternに従うべきだと思う事前

+2

あなたが何を求めているのかわからない、あなたは何をする必要があるかを知っているようです。あなたは図書館の作成やgetの実装の作成を手助けする必要がありますか?とにかく、私がこれをしたときにソケットを使用したので、もう少しコントロールができました。あなたが努力するつもりなら、ソケットを伸ばすことをお勧めします。しかし、.net 3.5以上を使用している場合は、あなたがしようとしているものの方が簡単かもしれない拡張メソッドを使うことができます。 – bebonham

+0

私は.NETを使用しません。これは、デスクトップのC#アプリケーションで使用されます。私はどのように私は "Get"メソッドを構築する必要があるかを理解するための助けが必要です。 –

+0

あなたはどんなアドバイスを探していますか?あなたがしているのは、既存のカスタムラッパークラスを作成することだけです。あなたがそれを必要とする方法を実装するのはそれ以上のことではありません。 – cdeszaq

答えて

1

感謝。このような

何か:

public class MyOwnClassResponsibleForWebRequests 
{ 
    private MyOwnClassResponsibleForWebRequests(){} 

    public HttpRequest Get(Params) 
    { 
     HttpRequestobj hr = new HttpRequest(); 
     .....your code 
     return hr; //or make request and return result 
    } 
} 

またはあなたが要求自体を作成し、その結果の代わりにHttpRequestオブジェクトを返すことができます。

+0

オブジェクトを使用して何を作成しますか? 私はそれを忘れて申し訳ありません... –

+0

@MarcelloGrechiLinsは私の編集をチェックアウトします。 –

+0

ああ、私はそれがはっきりしていなかったと思います、残念です。 "GET"メソッドでは、私はHTTPGETを意味し、GettersやSettersのようにはなりません。とった ? –

関連する問題