我正在尝试在 C# 中使用 TouchDB 查询视图。我在这里使用了 TouchDB 和 MonoTouch 之间的绑定:https ://github.com/mono/monotouch-bindings/tree/master/Couchbase
当调用发出委托方法时,我得到一个“System.Runtime.InteropServices.MarshalDirectiveException”,说“传递给非托管代码的类型 MonoTouch.Foundation.NSObject 必须具有 StructLayout 属性。”
我在这里找到了这个错误报告:https ://bugzilla.xamarin.com/show_bug.cgi?id=4781这与我的问题类似,但自 2012 年 7 月 27 日以来没有任何更新。
这是我的测试代码:
CouchTouchDBServer server = new CouchTouchDBServer ();
CouchDatabase database = server.GetDatabase ("grocery-sync");
database.TracksChanges = true;
// Create a test view
design = database.DesignDocumentWithName ("grocery");
design.DefineView ("testView", (doc,emit) => {
emit (doc, doc); // Crashes here
}, "1.0");
// Query the view
CouchQuery query = design.CereateQuery("testView");
RestOperation op = query.Start();
string response = op.ResponseBody.AsString;
Console.WriteLine(response);
有没有人用 MonoTouch 成功查询过 TouchDB 的视图?谢谢你的帮助