在这种情况下,您使用新的Metro风格的应用程序为Windows 8构建了UI前端,并希望它与在同一本地计算机上的桌面上运行的.NET应用程序(例如,Windows服务应用程序)进行通信.
metro应用程序和桌面应用程序之间有哪些形式的进程间通信?
感谢Visual Studio团队的Pavel Minaev,他在评论中提供了一些初步信息,引用:
根据Martyn Lovell的说法,没有任何有意识的机制,可以用于它的一些机制是故意限制的.例如,命名管道不在那里,也不是内存映射文件.有套接字(包括服务器套接字),但是当连接到localhost时,您只能连接到同一个应用程序.您可以在其中一个共享的"已知文件夹"(文档,图片等)中使用普通文件,但这是一个相当粗糙的黑客,需要轮询并且对用户可见.- Pavel Minaev 就此问题发表评论
因此,我正在考虑使用Web服务或读取/写入数据库,以便进行某种形式的通信,当进程在同一台机器上运行时,这两种方式都显得过于苛刻.
我在这里尝试是否有意义?我可以看到Metro应用程序需要成为桌面上运行的现有服务的前端UI.或者将WPF用于桌面上运行的前端UI(即非城域应用程序)更好.
我想在XAML中声明一个数组.我可以在WPF中做到这一点.似乎无法在WinRT中找到正确的命名空间.谁知道?
<Page xmlns:list="?Something?">
<Page.Resources>
<x:Int32 x:Name="MyScalarValue">123</x:Int32>
<list:Array x:Name="MyValueList">
<x:Int32>123</x:Int32>
<x:Int32>456</x:Int32>
<list:Array>
</Page.Resources>
</Page>
Run Code Online (Sandbox Code Playgroud)