问题列表 - 第29434页

可扩展的WPF应用程序 - MEF,MAF还是简单的加载?

(我知道其他MEF/MAF问题,但这是一个更具体的问题)

我想创建一个WPF应用程序,它基本上只是一个简单的外接程序主机,GUI和设置.所有实际工作都将由一个或多个插件完成.它们不需要在彼此之间进行通信,主应用程序将向用户发送用户输入/命令,并且它们将返回一些结果(例如,要呈现的WPF UI元素).

现在,由于应用程序的核心将基于插件,我需要选择一种管理它们的好方法.我希望能够在运行时加载/卸载/重新加载它们(例如,当找到并下载更新时).它们应该在自己的应用程序域和/或进程中运行以确保稳定性和安全性.

从一些研究和实验中我得出三个选择:

  • System.Addin(MAF):看来这可以做我需要的一切.有一个管道允许同时运行多个版本的API以实现兼容性等.但除非我遗漏了一些东西,否则我需要多次创建API - 主机和插件视图,合同和两个适用于合同的适配器.此外,与MEF相比,信息和资源也很少,而且大多数文章都是几年之久.我担心这会慢慢死去,宁愿不用它来做一个新项目.

  • MEF:这个看起来更简单,但也感觉有很多我无法控制的魔法,并且这些层没有像MAF那样分开.我只想要一个小型库,你可以链接到一个新项目,实现界面,插件就完成了.

  • 手动加载:最后一个选项是手动扫描.dll文件夹,使用反射来查找插件类和创建实例.虽然它是可行的,但我宁愿使用一些框架而不是手动加载程序集,创建单独的进程/ appdomain等.

那么,哪一种最适合这种应用,还是有一些我错过的东西?

.net c# wpf extensibility mef

11
推荐指数
1
解决办法
3075
查看次数

drupal输入过滤器示例

我正在尝试编写一个输入过滤器,将以http开头并以.mp3结尾的所有内容转换为音频元素,因此:

http://google.com/file.mp3 - > <audio src='http://google.com/file.mp3' />

正则表达式对我来说没问题,只是不确定如何构建模块.

一个简单的例子,允许我添加许多额外的规则将非常有帮助,谢谢.

我知道自定义过滤器模块,但它有相当多的开销.

php drupal input-filtering drupal-modules

3
推荐指数
1
解决办法
1434
查看次数

cakephp - 为什么在我将调试切换到3之前不会发生一些变化?

有时我会在本地实现更改并且它们工作正常,我将它们复制到我的远程Web服务器并且忽略更改.(代码完全相同.)

我进入core.php,将调试更改为3,再次检查......它有效!

我觉得这与缓存有关,但我不知道到底要改变什么.

cakephp

13
推荐指数
2
解决办法
2万
查看次数

如何获取嵌套属性

我想检索一个PropertyInfo,这里代码:

string propertyName="Text";
PropertyInfo pi = control.GetType().GetProperty(propertyName);
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果我想检索嵌套属性,它返回null:

string propertyName="DisplayLayout.Override.RowSelectors";
PropertyInfo pi = control.GetType().GetProperty(propertyName);
Run Code Online (Sandbox Code Playgroud)

有没有办法获得嵌套属性?

最好的祝福,

弗洛里安

编辑:我现在有一个新问题,我想得到一个属性是一个数组:

string propertyName="DisplayLayout.Bands[0].Columns";
PropertyInfo pi = control.GetType().GetProperty(propertyName)
Run Code Online (Sandbox Code Playgroud)

谢谢

c# reflection

6
推荐指数
1
解决办法
7034
查看次数

ReSharper - 如何重新分析解决方案?

我刚刚从Subversion检查了一个解决方案,ReSharper告诉我它有191个文件有错误.事实上,它构建完美.

它的大多数问题似乎是"未知符号",它不识别名称空间或类名.纵观这些错误,至少它似乎与哪些错误不一致.

既然ReSharper完全错了,有没有办法可以告诉它重新开始分析,希望这次能做到正确吗?

resharper code-analysis

8
推荐指数
1
解决办法
1477
查看次数

当数据库返回null时,SimpleJDBCTemplate.queryForInt会做什么?

SimpleJDBCTemplate.queryForInt当SQL查询的实际结果为null时,该怎么办?

特别是,如果我运行queryForInt("select max(foo) from f")并且f没有行会发生什么?

当我谈论这个问题时,如果我跑步queryForInt("select foo from f")并且f没有行会怎样?

java spring spring-jdbc

5
推荐指数
1
解决办法
4359
查看次数

使用Jquery和Ajax在ASP.Net中保存文件

我有一个使用jQuery和AJAX调用服务器端脚本来创建一个文本文件,并返回以下响应按钮:

Response.ContentType = "csv";
Response.AddHeader("Content-disposition", "attachment; filename=" + fName);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(btFile);
Response.End();
Run Code Online (Sandbox Code Playgroud)

但是,不会出现保存对话框.如果我不使用Ajax和使用相同的代码执行完整的回发,它的工作原理.有任何想法吗?

这是jQuery代码:

$(function() {
    $('#reportButton').click(function() {
        $.ajax({
            type: "POST",
            url: "GenerateReport.aspx",
            data: "id=0",
            success: function(){
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

asp.net ajax jquery file save

6
推荐指数
1
解决办法
1万
查看次数

WPF如何在列表框失去焦点时更改列表框所选项目文本颜色

我一直在寻找如何更改失去焦点的列表框中所选项目的文本颜色.

  <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
  <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
  <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Orange"/>
Run Code Online (Sandbox Code Playgroud)

这三个标签负责大部分工作,但我的列表框有黑色背景,当控件失去焦点时,字体变为黑色.

我从另一篇文章SystemColor中找到了这个列表.从这个列表中提供大量可能选项的和任何看似远程直观的东西都没有用.有人知道我需要改变的关键吗?

wpf styles listbox selecteditem

5
推荐指数
2
解决办法
5901
查看次数

如何从request.FILES获取文件名?

如何从Django中的request.FILES获取文件名?

def upload(request):
    if request.method == 'POST':
        form = UploadForm(request.POST, request.FILES)
        if form.is_valid():
            upload = Upload()
            upload.timestamp = datetime.datetime.now()
            save_instance(form, upload)
Run Code Online (Sandbox Code Playgroud)

我尝试使用它但它不起作用:

  if 'filename'  in request.FILES:
         filename = request.FILES['filename']
Run Code Online (Sandbox Code Playgroud)

django django-forms

45
推荐指数
5
解决办法
8万
查看次数

iOS 4中的后台应用*是否会退出?

我不完全了解Apple的iOS 4模型,我一直在仔细阅读文档几个小时,但我仍然感谢一些帮助.

背景的iPhone应用程序有没有退出?例如,当我关闭位置跟踪应用程序(例如Loopt)时,它将被后台化但是它是否会订阅操作系统的重要位置服务?根据苹果(如果我理解正确),即使它被暂停或关闭,它将被通知我当前的位置.这是否意味着,只要它在我的手机上,它总是会知道我的位置?或者直到我重新启动手机?

谢谢,

iphone ios4 iphone-4

6
推荐指数
1
解决办法
2915
查看次数