15

私の要件は、Http URL を解析し、それに応じて関数を呼び出すことです。私の現在の実装では、ネストされた if-else ステートメントを使用していますが、これは最適化された方法ではないと思います。他の効率的なアプローチを提案できますか?

URL は次のようなものです。

  • server/func1
  • server/func1/SubFunc1
  • server/func1/SubFunc2
  • server/func2/SubFunc1
  • server/func2/SubFunc2
4

3 に答える 3

49

System.Uriクラスを大いに活用できると思います。URI をフィードすると、さまざまなアレンジで断片を引き出すことができます。

いくつかの例:

Uri myUri = new Uri("http://server:8080/func2/SubFunc2?query=somevalue");

// Get host part (host name or address and port). Returns "server:8080".
string hostpart = myUri.Authority;

// Get path and query string parts. Returns "/func2/SubFunc2?query=somevalue".
string pathpart = myUri.PathAndQuery;

// Get path components. Trailing separators. Returns { "/", "func2/", "sunFunc2" }.
string[] pathsegments = myUri.Segments;

// Get query string. Returns "?query=somevalue".
string querystring = myUri.Query;
于 2013-05-20T19:02:06.793 に答える