private void ExecuteMultiRequestLocally(WoopsaClientMultiRequest multiRequest) { // Execute multi request locally foreach (var item in multiRequest.ClientRequests) { try { switch (item.Request.Verb) { case WoopsaFormat.VerbMeta: item.Result = new WoopsaClientRequestResult() { ResultType = WoopsaClientRequestResultType.Meta, Meta = ClientProtocol.Meta(item.Request.Path) }; break; case WoopsaFormat.VerbInvoke: item.Result = new WoopsaClientRequestResult() { ResultType = WoopsaClientRequestResultType.Value, Value = ClientProtocol.Invoke(item.Request.Path, item.Request.Arguments.ToNameValueCollection()) }; break; case WoopsaFormat.VerbRead: item.Result = new WoopsaClientRequestResult() { ResultType = WoopsaClientRequestResultType.Value, Value = ClientProtocol.Read(item.Request.Path) }; break; case WoopsaFormat.VerbWrite: ClientProtocol.Write(item.Request.Path, item.Request.Value); item.Result = new WoopsaClientRequestResult() { ResultType = WoopsaClientRequestResultType.Value, Value = WoopsaValue.Null }; break; } } catch (Exception e) { item.Result = new WoopsaClientRequestResult() { ResultType = WoopsaClientRequestResultType.Error, Error = e }; item.IsDone = true; } } }
public WoopsaBoundClientObject CreateBoundRoot(string name = null) { WoopsaMetaResult meta = ClientProtocol.Meta(WoopsaConst.WoopsaRootPath); return(new WoopsaBoundClientObject(this, _container, name ?? meta.Name, null)); }