2

下一行代码

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 是一个接口,发生错误。

有什么帮助吗?

4

0 回答 0