繁体   English   中英

C#RestSharp PUT请求未发送

[英]C# RestSharp PUT request not sending

因此,我试图向我的API发送一个PUT请求,以编辑我的一个表中的一条记录。 使用Postman和招摇的页面,这可以正常工作。 但是当我尝试使用C#的webclient执行此操作时,它不发送。 这是我的代码。

public static void putProductData(string model, Models.Product product)
    {
        //HttpClient client = new HttpClient();
        MultipartFormDataContent mfdc = new MultipartFormDataContent();

        // create the communication to the model from the API.
        string apiposturl = apiurl;
        apiposturl += model;
        apiposturl += "/bewerken";

        var client = new RestClient("http://mayapi.net");
        var request = new RestRequest("/api/products/bewerken", Method.PUT);

        // Zet de headers voor de request.
        // Dit is bij alles hetzelfde met een multipart/form-data requeset.
        request.AddHeader("postman-token", "293a9ff3-e250-e688-e20d-5d16ea635597");
        request.AddHeader("cache-control", "no-cache");
        request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
        request.AddHeader("Content-Type", "multipart/form-data");
        request.AddHeader("Authorization", "token");
        request.AddHeader("Connection", "Keep-Alive");

        // Vul de parameters met de waardes van heet model.
        request.AddParameter("productNaam", product.ProductNaam);
        request.AddParameter("productPrijs", product.ProductPrijs);
        request.AddParameter("productBeschrijving", product.ProductBeschrijving);
        request.AddParameter("productType", product.ProductType);
        request.AddParameter("productKorting", product.ProductKorting);
        request.AddParameter("productVoorraad", product.ProductVoorraad);
        request.AddParameter("productDirectLeverbaar", product.ProductDirectLeverbaar);
        request.AddFile("productAfbeelding", product.ProductAfbeelding); // Voeg hier het bestandspad in.
        request.AddParameter("productWinkel", product.ProductWinkel);


        //client.Execute(request);
        // Verstuur de request.
        //IRestResponse response = client.Execute(request);

        IRestResponse response = client.Execute(request);
        var content = response.Content; ;
    }

奇怪的是,当我执行此操作时,Fiddler中没有PUT请求,因此我无法真正通过Fiddler对其进行调试。 这是响应在带有断点的代码中显示的错误之一:

{“请求被终止:请求被取消。”}

我读到可以通过Connection:Keep-Alive修复此问题,但这可惜对我不起作用。 有人可以帮我吗?

编辑

我认为这可能是一些有用的信息。 如果我通过RestSharp发送发布请求,则该请求实际上有效,但PUT请求却不起作用

我解决了它,它必须对API中的更新模型进行某些处理。 他们从事这段代码的工作忘了将字段更新为更新的模型。 这就是为什么它不发送数据的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM