【问题标题】:How to create custom header before request in WCF web service C#如何在 WCF Web 服务 C# 中的请求之前创建自定义标头
【发布时间】:2021-06-12 18:46:03
【问题描述】:

我想在 C# 中集成 bluesuit (https://docs.bluesuit.com/?shell#send-document)。我想通过使用 WCF 服务设置 Content-TypeAuthorization Bearer.pdf 上传到 bluesuit。如何在标头中添加它并调用https://docs.bluesuit.com/?shell#send-document post 方法并获得响应并将C#中的bluesuit与WCF集成?

我只是想在 wcf 服务中调用第三方(bluesuit)post url 并从这个第三方(bluesuit)post url 获得响应,那么如何在 WCF 方法中调用这个第三方 post url?

提前致谢。需要帮助请指教。

【问题讨论】:

  • 快速查看文档,他们似乎没有 WCF 服务。他们的 api 是 REST。
  • 我是 wcf 服务的新手,所以可以创建包含调用 bluesuit 上传方法的 uploadpdf 方法的 wcf 服务 dll 吗?
  • 你的意思是你有一个 WCF 服务,并且你想在你的服务操作中调用他们的 API?
  • 忘记 WCF。您将使用 System.Net.HttpClient、RestSharp 或 Flurl 或类似名称调用他们的 api。
  • 是的,我想在 wcf 方法中调用他们的 api

标签: c# asp.net wcf


【解决方案1】:

你可以这样做:

// Code to get a static WebClient
private static WebClient GetWebClient
{
    get
    {
        var client = new WebClient
        {
            BaseAddress = "https://docs.bluesuit.com/?shell#send-document",
            UseDefaultCredentials = true
        };
        client.QueryString.Clear();
        client.Headers.Clear();
        client.Headers.Add("content-type", "application/pdf");
        return client;
    }
}

在需要从 bluesuit 获得响应的函数内部使用:

var client = GetWebClient;
// getToken() call returns you the Token as a string
client.Headers.Set(HttpRequestHeader.Authorization, "Bearer " + getToken());
var data = "Your data goes here";
var response = client.UploadString(url, "POST", data);

根据您的用例处理响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2021-09-14
    相关资源
    最近更新 更多