webapp へのコールアウトが必要な C# アプリケーションを作成しています。System.Uri
ベース URL と、必要な Web アプリケーションの特定のサービス (または多数) への相対パスの 2 つの URL を組み合わせて使用しようとしています。webappBackendURL
1 か所で定義したいという名前のクラス メンバーがあり、そこからすべての呼び出しが作成されます (webappBackendURL
私の例が示すほど近くに定義されていません)。
System.Uri webappBackendURL = new System.Uri("http://example.com/");
System.Uri rpcURL = new System.Uri(webappBackendURL,"rpc/import");
// Result: http://example.com/rpc/import
これは機能webappBackendURL
しますが、クエリ文字列が含まれている場合は保持されません。
System.Uri webappBackendURL = new System.Uri("http://example.com/?authtoken=0x0x0");
System.Uri rpcURL = new System.Uri(webappBackendURL,"rpc/import");
// Result: http://example.com/rpc/import <-- (query string lost)
URL を組み合わせるより良い方法はありますか? .NET ライブラリは広範囲に及ぶため、これを処理するための組み込みの方法を見落としているのではないかと考えています。理想的には、次のように URL を結合できるようにしたいと考えています。
System.Uri webappBackendURL = new System.Uri("http://example.com/?authtoken=0x0x0");
System.Uri rpcURL = new System.Uri(webappBackendURL,"rpc/import?method=overwrite&runhooks=true");
// Result: http://example.com/rpc/import?authtoken=0x0x0&method=overwrite&runhooks=true