我目前正在为 android 试验 Mono,目前我在以下 URL 安装了基于 Rest 的服务
http://localhost:8080//api/mobileclient?email=aakpenyi3%40yahoo.com&phone=80604456789
服务器为IIS8.0,服务使用asp.net web API构建。
当我使用 Curi 或任何基于插件的 Rest 客户端发出请求时。一切顺利,响应如期而至
但是我喜欢在移动客户端中使用它
我有以下使用 Xamarin for Android 的代码
public class RequestBrokerClass
{
const string baseUrl = "http://partnerens.com/api/mobileclient/";
public T Execute<T>(RestRequest request) where T : new()
{
var client = new RestClient ();
client.BaseUrl = baseUrl;
var response = client.Execute<T> (request);
if (response.ErrorException != null) {
const string message = "Error contacting partnerens servers";
var exception = new ApplicationException (message, response.ErrorException);
throw exception;
}
return response.Data;
}
}
以及使用上述代码的以下摘录。 (请注意电子邮件已经过 URL 编码)。
public IEnumerable<PartnershipRecords> GetItemFromApi(string email, string phoneNumber)
{
var request = new RestRequest ();
request.Method = Method.GET;
request.AddParameter ("email", email);
request.AddParameter ("phone", phoneNumber);
var items = new RequestBrokerClass ().Execute<List<PartnershipRecords>> (request);
return items;
}
但是我的问题是,如果使用移动客户端生成,则响应始终为空,但如果使用 REST 客户端生成,则响应始终为空。
最佳答案
好的,我把它修好了,这就是我所做的
我在 AndroidManifest.xml 中添加了以下内容
<uses-permission android:name="android.permission.INTERNET" />
瞧,服务器响应正确
关于c# - Xamarin for Android 中的 RestSharp 没有给出任何响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22386722/