Как я могу выполнить URL-вызов из кода C# на веб-сайте ASP на странице ASCX? - PullRequest
0 голосов
/ 07 мая 2020

Мне нужно вызвать специальный протокол (что-то вроде: «custom: signDocs? Param1 = value? Param2 = value»), который зарегистрирован на клиенте.

У меня есть рабочий протокол, который выполняется через JavaScript при нажатии кнопки.

Но мне нужно вызвать URL-адрес для выполнения программы, которая у меня есть на клиентах p c.

Программа предназначена для подписания документов и их отправки обратно на сервер, и в коде у меня есть 15-минутный таймер, который ждет, пока статус документов не изменится на подписанный, затем он показывает документы пользователю.

Я также пробовал использовать webrequest:

    //Method that uses the webrequest
    {
        System.Net.WebRequest.RegisterPrefix("customProtocolName", new PrototipoIDPTRequestCreator());
        System.Net.WebRequest req = System.Net.WebRequest.Create(protocolUrlWithParams);
        var aux = req.GetResponse();
    }

    internal class CustomRequestCreator : System.Net.IWebRequestCreate
    {
        public WebRequest Create(Uri uri)
        {
            return new CustomWebRequest(uri);
        }
    }

    class CustomWebRequest: WebRequest
    {
        public override Uri RequestUri { get; }
        public CustomWebRequest(Uri uri)
        {
            RequestUri = uri;
        }
    }

Но это ничего не делает, я не знаю, что это даже правильный путь ...

Кто-нибудь знает, как сделать sh это?

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете использовать HttpClient из System.Net.Http, как в следующем примере.

Простой вызов get из тестовой конечной точки api.

 using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("YOUR_BASE_URL"); //https://localhost:8000
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage response = await client.GetAsync("api/test"); //api uri
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
            }

Примечание: Подробнее подробности см. HttpClient Do c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...