小编Phi*_*ler的帖子

简单(我认为)WPF中的水平线?

创建一个相对简单的数据输入表单,只想用水平线(与HTML中的HR标记不同)将某些部分分开,这些部分会拉伸表单的全长.

我试过这个:

<Line Stretch="Fill" Stroke="Black" X2="1"/>
Run Code Online (Sandbox Code Playgroud)

由于父控件不是固定宽度,因此该行会使窗口拉伸到屏幕的整个宽度.

有没有一种简单的方法可以在不修复父控件/窗口宽度的情况下执行此操作?

wpf xaml wpf-controls

216
推荐指数
4
解决办法
12万
查看次数

MongoDB/NoSQL:保持文档更改历史记录

数据库应用程序中相当普遍的要求是跟踪数据库中一个或多个特定实体的更改.我听说这称为行版本控制,日志表或历史表(我确定还有其他名称).在RDBMS中有多种方法可以处理它 - 您可以将所有源表中的所有更改写入单个表(更多日志),或者为每个源表创建单独的历史表.您还可以选择管理应用程序代码中的日志记录或通过数据库触发器.

我正在尝试思考在NoSQL /文档数据库(特别是MongoDB)中对同一问题的解决方案是什么样的,以及如何以统一的方式解决它.它是否像为文档创建版本号一样简单,从不覆盖它们?为"真实"与"已记录"文档创建单独的集合?这将如何影响查询和性能?

无论如何,这是NoSQL数据库的常见场景,如果是这样,是否有一个通用的解决方案?

mongodb nosql

119
推荐指数
4
解决办法
4万
查看次数

在AngularJS中使用服务调用的相对路径

我有以下代码,在我部署到测试服务器之前工作正常:

$scope.getUserList = function (userName) {
    $http({
        method: "get",
        url: "GetUserList",
        params: { userName: userName }
    }).
        success(function (data) {
            $scope.users = data;
        }).
        error(function () {
            alert("Error getting users.");
Run Code Online (Sandbox Code Playgroud)

问题是我部署到虚拟目录,下面的调用试图从服务器根命中GetUserList.这是有道理的,我知道了很多方法来解决它.

我想知道的是以Angular中可移植和可维护的方式引用服务URL 的正确方法.

javascript angularjs

66
推荐指数
3
解决办法
8万
查看次数

SqlDependency Reliablity?

我目前的情况是,我有一个应用程序需要在新数据到达数据库表时得到通知.数据来自外部源(我无法控制 - 这是唯一的集成选项).当新数据到达时,我的应用程序需要采取某些操作 - 基本上查询新数据,处理它,将结果插入本地表等.

我希望尽可能避免轮询,因为预计数据会实时处理.也就是说,确保没有数据丢失是第一优先级.

我的问题:

  1. SqlDependency一般被认为是可靠的吗?
  2. 我是否需要关注竞争条件,例如我在另一个到来时处理一个变化?
  3. 数据库重启后会发生什么?我的应用程序是否会恢复并再次开始接收更改,或者我是否需要某种类型的故障安全计时器来定期重新订阅通知?
  4. 我在该主题上阅读的大多数文章都涉及SQL Server 2005.我使用的是SQL Server 2008 R2.是否有一种比SqlDependency更受欢迎的新技术?
  5. (编辑)此外,如果应用程序出现故障怎么办?我想我必须在启动时查询错过的数据?

c# sql-server sql-server-2008 sqldependency

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

MVVM和IOC:处理View Model的类不变量

自从我开始使用MVVM以来,这是我一直在努力解决的问题,首先是在WPF中,现在是在Silverlight中.

我使用IOC容器来管理Views和ViewModels的分辨率.视图往往是非常基本的,使用默认构造函数,但ViewModels倾向于访问实际服务,所有这些都是构造它们所必需的.同样,我使用IOC容器进行解析,因此注入服务不是问题.

成为问题的是使用IOC将所需数据传递给ViewModel.举个简单的例子,考虑一个允许编辑客户的屏幕.除了可能需要的任何服务之外,此屏幕的ViewModel还需要一个客户对象来显示/编辑客户的数据.

在进行任何类型的(非MVVM)库开发时,我认为通过构造函数传递类不变量是一个不可弯曲的规则.如果我需要特定于上下文的数据用于类构造时间并且所讨论的类是容器管理的,我倾向于使用抽象工厂*作为桥梁.在MVVM中,这看起来有点矫枉过正,因为大多数ViewModels都需要自己的工厂.

我尝试/考虑的一些其他方法包括(1)初始化/加载方法,其中我传递数据,这违反了通过构造函数强制类不变量的规则,(2)通过容器传递数据作为参数覆盖(Unity) ),以及(3)通过全局状态包(ugh)传递数据.

有哪些替代方法可以将特定于上下文的数据从一个ViewModel传递到另一个ViewModel?任何MVVM框架都能解决这个特定问题吗?

*它可能有自己的问题,比如需要在调用Container.Resolve()之间进行选择,或者不要让ViewModel容器管理.温莎城堡有一个很好的解决方案,但AFAIK没有其他框架.

编辑:

我忘了添加:如果您正在执行"View First"MVVM,我列出的某些选项甚至是不可能的,除非您先将数据传递给View然后再传递给ViewModel.

c# dependency-injection inversion-of-control mvvm

30
推荐指数
2
解决办法
3925
查看次数

活动采购资源

寻找关于事件采购主题的有用讨论组,文章,成功案例,参考应用程序和工具(.Net)的一些建议.

我已经熟悉了:

福勒的文章:http://martinfowler.com/eaaDev/EventSourcing.html

Greg Young的文章(评论中已下载的文档):http://codebetter.com/gregyoung/2010/02/20/why-use-event-sourcing/

Greg Young关于DDDD的优秀(草案)文章:http://abdullin.com/storage/uploads/2010/04/2010-04-16_DDDD_Drafts_by_Greg_Young.pdf

还有什么我应该阅读和看的?

.net c# cqrs event-sourcing

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

AngularJS中文本框更改时调用延迟函数

似乎无法谷歌举例说明如何做到这一点.

我已经成功创建了一个文本框,每次更改时都会调用一个函数.我想要做的只是在用户停止输入x毫秒时调用该函数.

我知道如何使用keyup事件在JQuery中执行它,并且可能使它以这种方式工作,但是想要"Angular Way".

编辑

也许从标签或文本中不清楚,但我使用的是AngularJS,并希望使用正确的方法来创建这种延迟功能.

javascript angularjs

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

为什么WPF吞下数据绑定异常?

我正在学习WPF,并且对数据绑定异常不会导致运行时/未处理的异常这一事实感到困惑.

任何人都可以用这种方式解释数据绑定的好处吗?我假设有益处,但到目前为止,我没有看到任何(免责声明:我刚开始使用数据绑定).

解释理论(或实际)理由的资源链接也可以起作用.

data-binding wpf exception

20
推荐指数
2
解决办法
4846
查看次数

任何"安全"调用assembly.GetTypes()的方法?

我搜索过高低,但我无法想出解决方案.

我需要使用如下代码从程序集中获取所有接口类型:

IEnumerable<Type> interfaces = _assembly.GetTypes().Where(x => x.IsInterface);
Run Code Online (Sandbox Code Playgroud)

问题是,对于某些程序集,我遇到以下错误:

无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.

我完全清楚为什么会发生这种情况(未加载依赖程序集),以及如果我想对特定程序集进行故障排除,它是如何解决的.在我的情况下,我不知道前面的组装(用户将选择它).

我想知道的是,是否有任何方法可以让代码继续通过任何无法检索的类型,并且仍然可以提取那些不会失败的代码.

c# reflection

20
推荐指数
1
解决办法
3957
查看次数

使用ShowDialog()的WPF模态窗口阻止所有其他Windows

我的应用程序有几个独立的"顶级"窗口,它们都具有完全不同的功能/工作流程.

我目前正在使用ShowDialog()来制作WPF窗口模式.模态窗口是其中一个主窗口的子窗口.但是,它一旦打开就会阻止所有顶级窗口.我希望该对话框仅阻止它从中启动的父窗口.这可能吗?

我不确定它是否重要,但打开对话框的窗口是应用程序的初始窗口 - 所以所有其他顶级窗口都是从它打开的.

wpf

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