Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何从Prism中的数据库加载模块目录?_Wpf_Prism - Fatal编程技术网

Wpf 如何从Prism中的数据库加载模块目录?

Wpf 如何从Prism中的数据库加载模块目录?,wpf,prism,Wpf,Prism,我在WPF应用程序中使用Prism,到目前为止,我一直通过var moduleCatalog=new ConfigurationModuleCatalog()加载模块。我想从数据库中获取模块目录。Prism文档表明这是可能的,但没有详细说明 有没有人这样做过,并能提供一些指导?这是一种理论上的可能性,但我所看到的任何样本中都没有 基本上,您要做的是将DLL/文件编码到数据库中,或者将它们压缩并存储在一个blob中。您可以在引导程序中下载它们并在本地(临时目录中)复制它们,然后允许它们使用Dire

我在WPF应用程序中使用Prism,到目前为止,我一直通过
var moduleCatalog=new ConfigurationModuleCatalog()加载模块。我想从数据库中获取模块目录。Prism文档表明这是可能的,但没有详细说明


有没有人这样做过,并能提供一些指导?

这是一种理论上的可能性,但我所看到的任何样本中都没有

基本上,您要做的是将DLL/文件编码到数据库中,或者将它们压缩并存储在一个blob中。您可以在引导程序中下载它们并在本地(临时目录中)复制它们,然后允许它们使用DirectoryModuleCatalog从文件系统正常加载。如果您希望它更优雅一点,您可以编写自己的ModuleCatalog来封装此逻辑


这和我做的很相似。。。实际上,我在发布时从一个网站下载了所有模块的zip文件,然后解压并用DirectoryModuleCatalog加载它们。

您可以通过实现
IModuleCatalog
来编写自己的
ModuleCatalog
实现。然后,您的实现可以通过您定义的任何方式填充目录

您还可以使用接受
流的
,并实现通过HTTP以XAML格式交付ModuleCatalog的Web服务