Консольное приложение, которое будет собирать информацию с компьютера.
Оно должно отправлять данные веб-сервису через websoket.
Нужно собирать: Имя компьютера, Часовой пояс, Название ОС, версию дотнета
Веб-сервис должен отслеживать, когда устройства включаются/выключаются.
Веб-сервис должен собирать информацию с устройств каждые 5 минут и отправлять её в Azure Function
Azure Function для обработки информации с веб-сервиса. Он должен обновлять информацию только по необходимости (если произошло изменение с последнего состояния).
Нужно использовать MS SQL в качестве бд и linq2db в качестве ORM
WinForms, вроде бы, все уже забыли
Unsafe.Read<float>(ptr)
Неужели дело только в лицензии, которую себе не могут позволить корпорации?
И главный вопрос, рационально ли выбирать c# как язык для свитча и претензии на позицию Джуниора без опыта?
Объективно - вакансий больше на джаве, но при этом лестных отзывов о шарпе я читал на том же тостере субъективно больше...
NI.BalloonTipIcon = ToolTipIcon.Info;
using System;
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Text.Json.Serialization;
using var httpClient = new HttpClient();
// Как-то получаем upload_url
var r = @"{
""response"": {
""upload_url"": ""/something""
}
";
var response = JsonSerializer.Deserialize<Response>(r);
var uploadUrl = response!.ResponseData.UploadUrl;
using var fileStream = File.OpenRead("./file.mp4");
using var request = new HttpRequestMessage
{
RequestUri = new Uri(uploadUrl),
Method = HttpMethod.Post,
Content = new MultipartFormDataContent
{
{
new StreamContent(fileStream), "file", "file.mp4"
}
}
};
httpClient.Send(request);
class Response
{
[JsonPropertyName("response")] public ResponseData ResponseData { get; set; }
}
class ResponseData
{
[JsonPropertyName("upload_url")] public string UploadUrl { get; set; }
}
var uri= "https://snaptik.app/dl.php?........................";
var httpClient = new HttpClient();
var response = await httpClient.GetAsync(url);
var stream = await response.Content.ReadAsStreamAsync();
// Дальше стрим куда-нибудь деваем. Можно в принципе и как массив байтов прочитать.
public class CarsRepository
{
private readonly DbContext _dbContext;
public CarsRepository(DbContext dbContext) => _dbContext = dbContext;
public async Task<string> GetOrAddCarNumberAsync(string carName)
{
var car = await _dbContext.Cars.FirstOrDefaultAsync(x => x.Name == name);
if(car == null)
{
car = new Car {
Name = name,
Number = ""
};
_dbContext.Cars.AddAsync(car);
await _dbContext.SaveChangesAsync():
}
return car.Number;
}
}