0

私たちの ASP.NET C# Web アプリケーションは、次の環境で使用されています -

-.NET Framework 4 - IIS 7 - Windows 2008 - Visual Studio 2012 - .NET IDE - C# - HTTPS (SSL)

Web サービス エンドポイントはサードパーティ ベンダーにあります。
Web サービス エンドポイントは「パッチ」動詞を使用します。

サードパーティ ベンダーの仕様では、Web サービス エンドポイントが

1) 特定のリソースの bigInt ID が必要 2) 「パッチ」動詞

String address = string.Format("https://blah.blah.com/users/{0}?verb={1}",
                  Uri.EscapeDataString(vfuArg.ViaFouraUserId.ToString()), Uri.EscapeDataString("patch"));

ただし、仕様では、Web サービスの URL にない他の引数も使用できます。仕様はかなり簡単です。

次のように宣言された名前付き値のペアがあります。

var values = new NameValueCollection{  { "email", loggedInUserRegisteredEmailArg }  };

以下のようにデータをアップロードしました。

    byte[] result = clientArg.UploadValues(address, values);
    var clientResponseForModifyingUser = Encoding.UTF8.GetString(result);

ただし、401 エラーが発生します。

C# WebClient ラッパーで「パッチ」動詞を適切に呼び出していますか? 「パッチ」動詞と C# WebClient に関する多くのオンライン ドキュメントを見つけることができませんでした。

問題を解決するには、上記のコード スニペットで何を変更すればよいですか?

4

1 に答える 1

2

「動詞」は通常、http メソッドを意味します...「GET」、「POST」など。クエリ文字列では実行されません。呼び出し自体で指定されます。

byte[] result = clientArg.UploadValues(address, "PATCH", values);
于 2013-08-12T14:07:55.120 に答える