[英]Changing the code to run by button click won't work
我正在使用來自http://nova.astrometry.net/的印版求解服務進行天文攝影項目
我找到了AstrometryNetClient(在這里: https : //github.com/elendil-software/AstrometryNetClient ),我設法通過一些代碼更改使它對我有效,並且很好用。
我的問題是,當我單擊按鈕將其更改為運行時,由於某種原因它不起作用!
它在此行停止: var res = client.Login();
我認為問題出在前一行: var client = new Client(apiKey);
,因為當我使用F11檢查代碼時,它顯示“ Connected = false”,這意味着登錄http://nova.astrometry.net/api/時出現錯誤
這是原始代碼:
using System;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using software.elendil.AstrometryNet;
using software.elendil.AstrometryNet.Enum;
using software.elendil.AstrometryNet.Json;
namespace Test
{
internal static class Program
{
private static void Main(string[] args)
{
const string apiKey = "astrometrynetapikey";
const string file = "test.fit";
try
{
var client = new Client(apiKey);
var res = client.Login();
Console.WriteLine("Login : " + res.status);
CancellationTokenSource tokenSource = new
CancellationTokenSource();
CancellationToken token = tokenSource.Token;
var uploadArguments = new UploadArgs
{publicly_visible = Visibility.n};
var uploadResponse = client.Upload(file, uploadArguments);
Task<SubmissionStatusResponse>
submissionStatusResponse = client.GetSubmissionStatus(uploadResponse.subid, token);
Task<JobStatusResponse> jobStatusResponse =
client.GetJobStatus(submissionStatusResponse.Result.jobs[0], token);
if (jobStatusResponse.Result.status.Equals(ResponseJobStatus.success))
{
var calibrationResponse = client.GetCalibration(submissionStatusResponse.Result.jobs[0]);
var objectsInFieldResponse = client.GetObjectsInField(submissionStatusResponse.Result.jobs[0]);
Console.WriteLine("\nRA : " + calibrationResponse.ra);
Console.WriteLine("Dec : " + calibrationResponse.dec);
Console.WriteLine("radius : " + calibrationResponse.radius);
Console.WriteLine("");
foreach (string obj in objectsInFieldResponse.objects_in_field)
{
Console.WriteLine(obj);
}
}
else
{
Console.WriteLine("Status : " + jobStatusResponse.Result.status);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.ReadKey();
}
}
}
}
我想我已經找到了解決方案,似乎我需要安裝Newtonsoft.Json,現在工作正常。 感謝大家的支持!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.