Xamarin WaitingForActivation

时间:2017-02-25 19:00:45

标签: android rest xamarin

我的服务调用的WaitingForActivation状态有问题;

我的代码

Public async Task CallService(string path)
    {
        IRestClient client = new RestClient(config.Ip);
        IRestRequest request = new RestRequest(config.MainResources + path, Method.GET);

        try
        {
            await Task.Run(() =>
            {

                var response = client.Execute<List<string>>(request);

            });  

        }
        catch (Exception e)
        {

            throw;
        }
    }

但是,响应仍然是WaitingForActivation的状态。

你知道哪里有问题吗? 或者你有什么更好的想法来制作异步方法,它会从休息服务中返回我的响应吗?

感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:0)

这可能是范围问题。在C#中如果执行如下代码:

public class MainActivity : Activity
{
    Button btnClick;
    int response;
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        // Set our view from the "main" layout resource
        SetContentView (Resource.Layout.Main);
        btnClick = FindViewById<Button>(Resource.Id.btnClick);
        btnClick.Click += BtnClick_Click;
    }

    private async void BtnClick_Click(object sender, System.EventArgs e)
    {

        await Task.Run(() =>
        {
            int response = 123456;// should be response=123456;
        });

        var abc = response;//response is 0
    }
}

Task.Run内的代码正确执行。但反应仍为0;您需要删除int块中的Task.Run

如果不是这种情况,很可能是服务调用的问题(请求可能是错误的,或者服务可能返回错误的响应等等),这不能从您发布的内容中告知代码,需要一个基本的演示。