C# Xamarin表单中页面构造函数中的服务调用
我只想在加载页面后进行服务调用,但是页面构造函数不支持异步等待模式,因此我必须在出现一些检查时进行相同的操作,以便只进行一次服务调用C# Xamarin表单中页面构造函数中的服务调用,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我只想在加载页面后进行服务调用,但是页面构造函数不支持异步等待模式,因此我必须在出现一些检查时进行相同的操作,以便只进行一次服务调用 如果我只想打一次服务电话,最好的做法是什么。您可以使用任务来完成这项工作 见: 您可以使用任务来完成此工作 见: Lazy是一个选项吗?如果服务已经被调用,您可以在设置中存储一些值,并在出现时签入OnAppearing。您还可以在App.xaml.cs中调用该服务,以便只调用一次。Lazy是一个选项吗?您可以在设置中存储一些值,如果该服务已被调用,则在出现时签入o
如果我只想打一次服务电话,最好的做法是什么。您可以使用任务来完成这项工作 见:
您可以使用任务来完成此工作 见:
Lazy
是一个选项吗?如果服务已经被调用,您可以在设置中存储一些值
,并在出现时签入<每次导航到特定页面时,都会执行代码>OnAppearing
。您还可以在App.xaml.cs
中调用该服务,以便只调用一次。Lazy
是一个选项吗?您可以在设置中存储一些值
,如果该服务已被调用,则在出现时签入on
<每次导航到特定页面时,都会执行代码>OnAppearing。您还可以在App.xaml.cs
中调用该服务,以便只调用一次。方法应该是异步的,才能使用该任务。太奇怪了。。。无论什么请参阅编辑后的答案@AshishKumar。您必须添加wait Initialize(),然后依次将其设置为waitiableno。正如你所说,你不能在构造函数中等待。。。你试过我建议的方法吗?(对不起我的英语不好)现在我明白了。。。我经常使用它,但在我的视图模型中,而不是在页面中。很抱歉。方法应该是异步的才能使用任务。太奇怪了。。。无论什么请参阅编辑后的答案@AshishKumar。您必须添加wait Initialize(),然后依次将其设置为waitiableno。正如你所说,你不能在构造函数中等待。。。你试过我建议的方法吗?(对不起我的英语不好)现在我明白了。。。我经常使用它,但在我的视图模型中,而不是在页面中。我很抱歉。
public MyClass()
{
... // Your stuff goes here
Initialize();
}
private async void Initialize()
{
Task.Run(async () =>
{
await ServerObjectReference.AsyncMethod();
});
}