下一行代码
var response = await _restService.GetAsync<IdentificationResponseDto>(identificationUri, new CancellationToken());
抛出:
System.ExecutionEngineException 已被抛出 Attempting to JIT compile method .... 使用 --aot-only 运行时。
我的休息服务 GetAsync 方法是:
public async Task<T> GetAsync<T>(Uri url, CancellationToken cancellationToken) where T : new()
{
var client = new HttpClient();
var response = await client.GetAsync(url, cancellationToken);
var responseString = await response.Content.ReadAsStringAsync();
return ProcessResult<T>(responseString);
}
private T ProcessResult<T>(string responseString) where T : new()
{
if (!string.IsNullOrWhiteSpace(responseString))
{
return _converter.DeserializeObject<T>(responseString);
}
return default(T);
}
public T DeserializeObject<T>(string inputText)
{
return JsonConvert.DeserializeObject<T>(inputText, Settings);
}
在模拟器上运行时一切正常,但是当尝试在设备(ipad2)上调试时出现错误。还尝试将 GetAsync 方法设置为仅允许使用“where T: class, new()”的类类型而没有帮助。
JsonConvert 取自 Json.Net 库。
重要的是要提到当我初始化我的 restService 使用
RestService _restService = new RestService(...)
一切正常,没有错误,但是当我使用初始化它时
IRestService _restService = new RestService(...)
其中 IRestService 是一个接口,发生错误。
有什么帮助吗?