环境 - 如果您需要其他信息,请告诉我们。
Windows 10开发人员笔记本电脑(最新的服务包和更新)
Visual Studio 2017 15.3
.net - 4.7.02046
xamarin 4.6.0295
xamarin.android sdk 7.4.0.19 java 1.8
我有一个包含4个项目的解决方案
我正在尝试从android ui访问便携式类中的类。 ValidateShopLoginAsync存在于可移植类库中。以下是来自android UI项目和代码。
Boolean shopvalidated = ValidateShopLoginAsync("http://m.rometech.net/MWebService/AuthenticateUser", globalshopid, globalshoplicense);
ETechX是便携式类的命名空间,但它在使用中无法识别它。以下是来自Android ui项目和代码。
using System;
using ETechX;
using System.Threading.Tasks;
using Android.App;
using Android.Text;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
我将Android项目中的引用添加到了可移植类库中。
以下是可移植类库项目和代码段中的代码。此处列出了任务ValidateShopLoginAsync。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Windows.Web.Http;
using HttpClient = System.Net.Http.HttpClient;
namespace ETechX
{
class ETechX
{
public async Task<bool> ValidateShopLoginAsync(Uri tUri, string tShopIdentification, string tShopLicense)
{
var soapString = "<?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><AuthenticateUser xmlns='http://m.rometech.net/MWebService'><shopIdentification>" + tShopIdentification + "</shopIdentification><shopLicence>" + tShopLicense + "</shopLicence></AuthenticateUser></soap:Body></soap:Envelope>";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("SOAPAction", "http://m.rometech.net/MWebService/AuthenticateUser");
var content = new StringContent(soapString, Encoding.UTF8, "text/xml");
var response = await client.PostAsync(tUri, content);
using (response)
{
var soapResponse = await response.Content.ReadAsStringAsync();
return ParseSoapResponse(soapResponse);
}
}
}
private bool ParseSoapResponse(string soapResponse)
{
throw new NotImplementedException();
}
}
}
我读过的所有内容都说这应该可行,但我必须遗漏其他内容,没有人告诉我将android项目链接到便携式类库中的任务。
我仔细研究了100条评论。甚至电子邮件Xamarin支持。他们还没有回应我发给他们的任何东西。不确定他们是否做出回应。
当我开始工作时,它将解决我现在遇到的大量问题。请协助。