gpt4 book ai didi

c# - Xamarin 试图从 web 服务中获取用户,立即崩溃

转载 作者:IT王子 更新时间:2023-10-29 06:06:53 27 4
gpt4 key购买 nike

你好 stackoverflow,

我正在学习有关如何在 Xamarin 中构建 Android 应用程序的教程,但我遇到了一个我无法自行解决的错误。希望你们中的任何人都能阐明如何从这里开始:

此代码是从教程本身复制的(来源:pluralsight)

private JsonServiceClient client;
private IList<User> users;

void PopulateSelectUsers ()
{
var response = client.Get(new Users());
users = response.Users.ToList ();

var names = users.Select (u => u.Name);

var usersSpinner = FindViewById<Spinner> (Resource.Id.usersSpinner);
usersSpinner.Adapter = new ArrayAdapter<string> (this, Android.Resource.Layout.SimpleListItem1, names.ToArray ());
}

用户”是一个请求:

public object Get(Users request)
{
return new UsersResponse { Users = Repository.GetUsers() };
}

[Route("/users", "GET")]
public class Users : IReturn<UsersResponse>
{
}

public class UsersResponse
{
public IEnumerable<User> Users { get; set; }
}

然而,一旦 Xamarin 阅读了这行代码:

var response = client.Get(new Users());

然后模拟器中的应用程序就崩溃了,Xamarin 没有给我任何关于发生了什么或如何修复它的信息。

似乎这段代码在教程中有效,正如我之前提到的,Xamarin 没有给我任何关于发生了什么或如何修复它的信息,所以我的问题是,如果你们中的一个人知道正在发生什么或者可能是一种方式要解决这个问题。

也许还值得一提的是,我正在使用 redis 来存储用户。

如果您想查看用户服务,可在此处获得: http://shan13alwo.cloudapp.net/api/metadata您可以通过将 JSON GET 发送到 http://shan13alwo.cloudapp.net/api/users 来检查代码是否有效

提前谢谢你,

更新:我意识到我可能一直不清楚我想做什么,只是为了简化。我想要做的是从我的 redis 数据库中获取我的用户(ienumerable)并将它们存储在一个列表中。在 Xamarin 中使用此代码不起作用:

var response = client.Get(new Users());
users = response.Users.ToList();

最佳答案

正如 Scott 之前在 Stackoverflow 上的另一个主题中向我指出的那样:ServiceStack v4 刚刚发布,在 Xamarin 和 Visual Studio 中使用不同版本的 servicestack 库导致了这种奇怪的行为。

回到 ServiceStack 的 V3 解决了我的问题。

我要感谢 Scott 的帮助,并想问最后一件事:我在哪里可以下载 VERSION 3,Android ServiceStack 库的免费许可版本?(认为​​它叫做“AndroidIndie”)使用 ServiceStack 的 lib 文件夹中的库下载并编译解决方案,结果是“评估软件,构建有效期为 24 小时”。

提前致谢。

关于c# - Xamarin 试图从 web 服务中获取用户,立即崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20470759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com