从非视图中打开mvvmcross中的View的正确方法是什么?在视图模型中,我们将使用ShowViewModel <>(..).
具体来说,我们正在响应推送通知打开应用程序(使用自定义有效负载),该通知指示应加载的视图.
我们有一个简单的解决方法只是为了概念验证,只是想了解正确的MVX方法
我正在构建的应用程序公开了几个WCF服务(A,B).在内部,它消耗了我们内部网络(X,Y)上运行的其他几个WCF服务.
使用WCF消息记录,我希望仅记录我们的服务A,B和调用它们的外部客户端之间的流量.
WCF不应记录我的服务(A,B)和后端服务(X,Y)之间的数据.
通过system.serviceModel/diagnostics/messageLogging/filters过滤部分成功:
<filters>
<add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
/s:Envelope/s:Header/*[contains(text(),"MyServiceA")]
</add>
<add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">
/s:Envelope/s:Header/a:Action[contains(text(),"MyServiceA")]
</add>
</filters>
Run Code Online (Sandbox Code Playgroud)
但是,这无法捕获来自我们服务的响应,因为SOAP 响应不包含要过滤的文本.
WCF MessageLogTraceRecord 确实包含SOAP Action,但我似乎无法构造一个过滤器来访问它:
<MessageLogTraceRecord>
<Addressing xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace>
<Action>http://opia.api.translink.com.au/ApiLocationService/2012/04/IApiLocationService/ResolveInputServiceFaultFault</Action>
</Addressing>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
...
Run Code Online (Sandbox Code Playgroud)
启用WCF消息日志记录和端到端跟踪,并将所有选项设置为true.已启用ActivityTracing和警告级别日志记录.
将参数从一个viewmodel传递到另一个viewmodel,修改它然后将其返回到原始viewmodel的推荐方法是什么?
关于将值传递给视图的内容很多,即ShowViewModel(new {paramX = valueY}),但是我无法找到任何有关显示的"子模型"在关闭/解除时将值返回给父级的工作示例在某种方法.
我发现的唯一一个似乎涵盖这个的样本是http://www.gregshackles.com/2012/11/returning-results-from-view-models-in-mvvmcross/但是代码似乎不起作用在新的当前v3 mvx上,在运行时因错误解析viewmodel类型而失败,可能是因为mvx中的反射由于子类型或泛型而无法识别/注册类型.