1

ナンシーフレームワークを使用しています... http://nancyfx.org/

次の例のように、クライアント側でBrowserオブジェクトを使用してNancyサービスを利用する場合は、https ://github.com/NancyFx/Nancy/wiki/Testing-your-applicationを参照してください。

    ...
    var bootstrapper = new DefaultNancyBootstrapper();
    var browser = new Browser(bootstrapper);

    // When
    var result = browser.Get("/", with => {
        with.HttpRequest();
    });
    ...

アプリがテストされていなくても、Nancy.Testingを使用する必要がありますか?言い換えると、このオブジェクトのようにGet、Put、Post、およびDelete操作を実行する他のブラウザオブジェクトは存在しますか?

4

2 に答える 2

3

あなたは実際にサービスを消費する何かが欲しいですか?EasyHttpまたはRestSharpを見てください。どちらもHTTPAPIを使用するための優れたAPIを提供します。

于 2012-06-12T17:26:33.900 に答える
1

System.Net.WebClientクラスもGET/PUT / POST/DELETEを実行することがわかりました。

//Creating client instance and set the credentials
var client = new WebClient();
client.Credentials = new NetworkCredential(...);

// using GET Request:
var data = client.DownloadData("http://myurl/.../" + docId);

// Using PUT
var data = Encoding.UTF8.GetBytes("My text goes here!");
client.UploadData("http://myurl/...", "PUT", data);

// Using POST
var data = new NameValueCollection();
data.Add("Field1", "value1");
data.Add("Field2", "value2");
client.UploadValues("http://myurl/...", "POST", data);

しかし、最終的に私はWCFRESTクライアントをで使用することにしましたwebHttpBinding。このようなもの:

[ServiceContract]
public interface IMyService
{
     [OperationContract]
     [WebGet(UriTemplate = "{docId}")]
     void GetData(string docId);
 }

具体的なクラス:

class MyClient: ClientBase<IMyService>, IMyService
{
    public void GetData(string docId)
    {
        Channel.GetData(docId);
    }
}
于 2012-06-12T19:28:46.813 に答える