На данный момент рассматриваю только вариант
Thread.Sleep
Подскажите пожалуйста как запускать программу каждые 15 мин. в цикле?
JsonSerializer.Deserialize<List<string>>
, попробуйте так:using System.Text.Json;
namespace ReflTest;
internal class DesJson
{
public IEnumerable<string> RunDesir(string jsonString)
{
var result = JsonSerializer.Deserialize<List<string>>(jsonString) ?? Enumerable.Empty<string>();
return result.Select(item => item.ToString());
}
}
class Program
{
static void Main(string[] args)
{
string jsonString = "[\"1\",\"2\",\"3\",\"4\",\"5\"]";
DesJson desJson = new DesJson();
IEnumerable<string> result = desJson.RunDesir(jsonString);
result.ToList().ForEach(Console.WriteLine);
}
}
SELECT p.price, od.quantity,
p.price * od.quantity as cost -- в выборке можно не только поля выбирать, но и делать любые сложные матем. операции в пределах сопоставляемых строк и агрегированных функций
FROM products p
JOIN orderdetails od ON p.productid = od.productid -- ну, так соединяйте по ключам. Что мешает?
Where od.orderid = ? -- если нужно ограничиться в пределах заказа
update orderdetails
set orderdetails.totalcost = ( select p.price * orderdetails.quantity
from products p
where orderdetails.productid = p.productid
) -- вычисляем цену из таблицы продуктов и изменяем ее в деталях
where orderdetails.orderid = ? -- если нужно ограничиться в пределах заказа
and exists (select 1
from products p
where orderdetails.productid = p.productid
) -- выбираем детали заказа только по тем продуктам, которые есть в продуктах, можно добавить доп. ограничения по затрагиваемым деталям
update orderdetails
set orderdetails.totalcost = ( select p.price * new.quantity
from products p
where orderdetails.productid = p.productid
) -- вычисляем цену из таблицы продуктов и изменяем ее в деталях
where orderdetails.orderdetailid = new.orderdetailid
From = Timestamp.FromDateTimeOffset(new DateTime(2023, 12, 31).ToUniversalTime()),
To = Timestamp.FromDateTime(DateTime.UtcNow),
у меня ваш код компилируется и исполняется с отказом авторизации, что логично..From = Timestamp.FromDateTime(new DateTime(2023, 12, 31).ToUniversalTime()),
To = Timestamp.FromDateTime(DateTime.UtcNow),
проDeviation
пока не понял..var settings = new Tinkoff.InvestApi.InvestApiSettings
{
AccessToken = "..."
};
var client = Tinkoff.InvestApi.InvestApiClientFactory.Create(settings);
var currencies = client.Instruments.Currencies();
foreach (var currency in currencies.Instruments)
{
Console.WriteLine(
$"{currency.Uid} {currency.Ticker} {currency.Name} {currency.Nominal.Units + currency.Nominal.Nano / 1000000000m} {currency.Nominal.Currency}");
}
Rebuild
вашего solution'а. Потом даблклик по проекту, в этом .csproj
файле ищите секцию ItemGroup
в которой будут ваши Protobuf
. К ним додаёте аттрибут ProtoRoot
, который (Для удобной работы) должен быть таким же как и пусть в аттрибуте Include
без указания названия файла .proto.proto
ваш другой .proto
, они должны быть хотя бы на одном уровне. Другими словами, вы можете импортировать только файлы, который находятся по архитектуре на том же уровне или ниже, потому что в import
запрещено использования символа точки и запятой. Это значит, что вы не сможете выйти на уровень выше API
? Это просто сервер, куда вы будете делать HTTP
запросы и получать информацию. Как разница, откуда вы будете делать HTTP
запрос используя HttpClient
. Ваш шаблон просто будет показывать, как вы это собираетесь выводить пользователю.Console Application
GUI
? Делайте на Windows Forms
/WPF
Xamarin.NET
или MUI
asp.net mvc
asp.net web api
и прикрепить туда в качестве клиента React
, Angular
или Vue.js
API
? Можете сделать только на React
, Angular
или Vue.js
GUI
в браузере, но не хотите отходить от технологий Microsoft
? используйте asp.net Blazor
command > /dev/null 2> /dev/null &
command > /dev/null 2>&1 &
> file
>1 file
< file
<0 file
command > /dev/null 2> /dev/null < /dev/null &
command > /dev/null 2> /dev/null < /dev/null & disown
nohup command &
object
, а не HttpClient
class Class1 (HttpClient client)
{
public async Task StartVkAsync()
{
using (HttpResponseMessage response = await client.GetAsync("https://ya.ru/"))
{
var JsonString = await response.Content.ReadAsStringAsync();
await Console.Out.WriteLineAsync(JsonString);
}
}
}
Для чего нужен "timeout" в строке запроса?
null
.var keyboard = new Inline_Keyboard[3][];
keyboard[0] = new Inline_Keyboard[1];
keyboard[1] = new Inline_Keyboard[2];
keyboard[2] = new Inline_Keyboard[2];
rootobject.inline_keyboard = keyboard;