Код: Выделить всё
public async Task StartWebApi(IEnumerable urls, CancellationToken token)
{
var builder = WebApplication.CreateBuilder();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
app.UseSwagger();
app.UseSwaggerUI();
app.MapGet("/some/route", _someService.DoSomething);
app.MapPost("/some/other/route", _someService.DoSomethingElse);
foreach (var url in urls)
{
app.Urls.Add(url);
}
await app.StartAsync(token);
}
Код: Выделить всё
private string MakeHttpGetRequest(string url, int retries = 5)
{
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "GET";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream dataStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(dataStream))
{
string text = reader.ReadToEnd();
return text;
}
}
}
}
catch (WebException ex)
{
if (retries > 0)
{
_logger.Debug("Exception at HTTP Get Request: " + ex.ToString());
retries--;
Thread.Sleep(1000);
return MakeHttpGetRequest(url, retries);
}
else
{
throw;
}
}
}
private string MakeHttpPostRequest(string url, string jsonData, int retries = 5)
{
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
if (!string.IsNullOrWhiteSpace(jsonData))
{
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(jsonData);
}
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream dataStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(dataStream))
{
return reader.ReadToEnd();
}
}
}
}
catch (WebException ex)
{
if (retries > 0)
{
_logger.Debug("Exception at HTTP Post Request: " + ex.ToString());
retries--;
Thread.Sleep(1000);
return MakeHttpPostRequest(url, jsonData, retries);
}
else
{
throw;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... al-web-api
Мобильная версия