powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net core: вызов из rest api другого rest api на том же ресурсе
7 сообщений из 7, страница 1 из 1
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960163
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
несколько application asp.net core
все лежат на одном интранет-ресурсе
http://myname.xxx.yy
сервер server.xxx.yy

вызываю из одного другой
как правильно?

urlAction=http://myname.xxx.yy/restAPI/home/MyPost
urlAction=http://server.xxx.yy/restAPI/home/MyPost

или можно проще, без HttpClient?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
        internal static HttpClient CreateClientwithHeaders()
        {
            var handler = new HttpClientHandler()
            {
                Credentials = CredentialCache.DefaultNetworkCredentials
            };
            return new HttpClient(handler);
        }

        internal static HttpClient CreateClient()
        {
            var client = CreateClientwithHeaders();
            return client;
        }
        internal static async Task<string> PostPdf<DocInput>(DocInput card, string urlAction)
        {
            using (var client = CreateClient())
            {
                try
                {
                    client.Timeout = TimeSpan.FromMinutes(2);
                    HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(card), Encoding.UTF8);
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    
                    HttpResponseMessage response = await client.PostAsync(new Uri(urlAction), httpContent);
                    if (!response.IsSuccessStatusCode)
                    {
                        return response.Content.ReadAsStringAsync().Result;
                    }
                    return await response.Content.ReadAsStringAsync();

                }
                catch (Exception ex)
                {
                    DocResult dr = new DocResult();
                    dr.error_text = $"Ошибка в PostPdf: err={ex.Message} {ex.InnerException}, urlAction={urlAction}";
                    dr.success = false;
                    dr.result_text = "Error";
                    return JsonConvert.SerializeObject(dr);
                }

            }
        }

...
Рейтинг: 0 / 0
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960167
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это два разных приложения, то без какого-либо interop ты из одного другое все равно никак не вызовешь. А какой interop использовать конкретно (REST, MQ, и т.п.) это уже тебе решать. Поскольку эти приложения уже предоставляют rest api через http, то использовать его это самый простой способ.
...
Рейтинг: 0 / 0
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960168
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл вот этого кода вообще непонятен:
Код: c#
1.
2.
3.
4.
5.
6.
HttpResponseMessage response = await client.PostAsync(new Uri(urlAction), httpContent);
if (!response.IsSuccessStatusCode)
{
    response.Content.ReadAsStringAsync().Result;
}
return await response.Content.ReadAsStringAsync();
...
Рейтинг: 0 / 0
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960169
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, пошёл думать
...
Рейтинг: 0 / 0
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960211
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
также подумай почему ты не используешь фабрику вместо прямого создания HttpClient каждый раз и чем это черевато.
...
Рейтинг: 0 / 0
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960212
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вроде пишешь ок а тут хоп блокировка response.Content.ReadAsStringAsync().Result; не надо так делать
...
Рейтинг: 0 / 0
asp.net core: вызов из rest api другого rest api на том же ресурсе
    #39960217
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net core: вызов из rest api другого rest api на том же ресурсе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]