c# - 使用 Xamarin WorklightResourceRequestAndroid API 时,我们如何将 cookie 插入到 MobileFirst 请求中?

标签 c# android cookies xamarin ibm-mobilefirst

我们正在开发一个 MobileFirst 项目,使用 Xamarin SDK 构建客户端代码(在这个 Android 示例中,尽管我们正在寻找也涵盖 iOS 的更通用的解决方案),我们正在迁移一些 JavaScript-基于 Java 的适配器。以前,我们使用 C# 代码调用这样的 JavaScript 适配器,以便将 cookie 插入到请求中(这些是为了呈现给 ISAM,尽管这主要是偶然的)。

var wlClient = WorklightClient.NativeObject as WLClient;
var cookie = new BasicClientCookie(name, value) { Path = path, Domain = domain, };
wlClient.CookieStore.AddCookie(cookie);

var connectResponse = await wlConnect.Connect();    
var invocationData = new WorklightProcedureInvocationData("CP4BackendJavaScript", "cp4Test", new object[0]);    
var responseAsProcedure = await wlClient.InvokeProcedure(invocationData);

鉴于我们正在迁移到基于 Java 的适配器,我们需要切换到 the ResourceRequest style调用。

但是,这似乎没有为我们提供将 cookie 插入请求的方法,因为我们正在使用的 WorklightResourceRequestAndroid 对象未链接到我们之前使用的 wlClient:

var uri = new Uri(_worklightClient.ServerUrl + "/adapters/CP4BackendJavaScript/cp4Test");
var request = new WorklightResourceRequestAndroid(uri, "GET");
var responseAsResource = await request.Send();

我们如何将已知的 cookies 插入到这个请求中?

最佳答案

连接问题:WorklightResourceRequestAndroid 类来自底层 Worklight.Xamarin.Android impl。这可能在也可能不在连接的 wlClient 对象上,具体取决于您如何获得它。理想情况下,您不必访问底层操作系统特定的提供程序,而是留在共享命名空间 Worklight 中。例如:

Worklight.WorklightResourceRequest

您可以从 IWorklightClient.ResourceRequest(..) 获取它。 IWorklightClient 对象是您应该在 Android Activity 类中实例化的对象,例如:

IWorklightClient wlClient= Worklight.Xamarin.Android.WorklightClient.CreateInstance (this);

回答您的 cookie 问题:用于资源请求的底层 Android/iOS impl 没有 cookie 方法 - 因此它们也不在 Xamarin 层中。

关于c# - 使用 Xamarin WorklightResourceRequestAndroid API 时,我们如何将 cookie 插入到 MobileFirst 请求中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434772/

相关文章:

javascript - PyQT4 Javascript 警报

c# - 任务构造函数中的取消标记 : why?

c# - 我如何重新设计它以使其线程安全?

c# - 呈现 xml 验证错误

c# - 在 .net 中显示文件上传进度

android - ListView 不检查 Android 1.5 上的项目

java - 如何离线使用缓存,否则使用网络

android - Eclipse Memory Analyzer 主饼图中的 Remainder 是多少?

c# - 有什么方法可以从 WCF Web 服务方法访问 cookie 值吗?

javascript - 如何防止 AddThis 在我的网站上使用 Cookie?