小编Per*_*eck的帖子

你能将你的动画移动到Angular2中的外部文件吗?

@Component注释为我们提供了一个animations属性.这可以用来定义列表triggers每个很多statetransition性能.

将多个动画添加到组件时,此列表可能会变得很长.此外,一些动画也非常适合在其他组件中使用.必须将它们直接放在每个组件中似乎很乏味且重复 - 而且它违反了DRY原则.

您也可以在组件上定义模板和样式属性,但在这里您可以选择提供templateUrlstyleUrls替换.我似乎无法找到一个animationUrls属性 - 我错过了什么 - 有没有办法做到这一点?

angular2-animation angular

17
推荐指数
1
解决办法
4316
查看次数

使用plupload手动触发"打开文件对话框"

我在上传之前使用plupload来对客户端进行缩放.如果用户没有安装flash,silverlight等引擎,我喜欢它优雅地回退到html4的功能.

我希望能够在用户单击页面上的某些元素时启动上传,并且我想处理事件(有时会停止打开文件对话框).实际上我想使用javascript弹出文件对话框.

好的,所以除非用户点击浏览按钮(或覆盖浏览按钮的覆盖),否则HTML4(或者说浏览器,除了chrome:P)不允许我这样做,所以当我得到回退到HTML4时我会接受我不能这样做,但大多数用户将安装闪光灯或Silverlight,他们没有这个限制.所以我的问题是:

如何在plupload中触发文件打开对话框(请记住,我只需要flash和silverlight引擎来执行此操作).

javascript plupload

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

从MS SQL Server 2005中的某个日期获取周数?

是否可以创建一个sql语句来选择周数(不是星期几 - 或一周中的日期数).我正在创建一个视图来选择此额外信息以及其他几个字段,因此无法使用存储过程.我知道可以创建一个UDF来完成这个技巧,但是如果可能的话我只需要添加视图到这个数据库,而不是视图和函数.

有任何想法吗?我来自哪里,一周从星期一开始,第一周是一年中的第一周至少4天.

有关:

如何计算给定日期的周数?

t-sql sql-server

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

如何使用NUnit创建一个通用的BaseTest,我可以继承它并从基本运行中进行测试?

所以基本上我有一个域对象和一个可以用该对象进行CRUD操作的通用存储库.

public interface IBaseRepository<T> where T : BaseEntity
{
    void Add(T entity);
    void Remove(T entity);
    T ById(int id);
    IEnumerable<T> All();
}
Run Code Online (Sandbox Code Playgroud)

所以我有几个这个接口的实现,每个域对象一个.

我想写一些集成测试(使用nunit),为此我想我会做一个BaseRepositoryTest - 像这样:

public abstract class BaseRepositoryTests<T> where T : BaseEntity
{
    public abstract IBaseRepository<T> GetRepository();
    public abstract T GetTestEntity();

    [Test]
    public void AddWhenCallingAddsObjectToDatabase()
    {
        IBaseRepository<T> repository = GetRepository();
        T entity = GetTestEntity();

        repository.Add(entity);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,对于每个域对象,我将不得不实现如何初始化存储库以及如何创建测试实体,这似乎是公平的,因为它们会有所不同......

我现在要做的就是编写实际的测试夹具吗?像这样:

[TestFixture]
public class FooRepositoryTests: BaseRepositoryTests<Foo>
{
    public override IBaseRepository<Foo> GetRepository()
    {
        throw new NotImplementedException();
    }

    public override Foo GetTestEntity()
    { …
Run Code Online (Sandbox Code Playgroud)

c# inheritance nunit

12
推荐指数
1
解决办法
5528
查看次数

强制重新验证mvc3不显眼的远程验证

这是一个经典的登录流程.用户可以在"新用户"或"现有用户"之间进行选择.如果用户是新用户,则登录框中的名称应该针对服务器进行验证以查看用户名是否是唯一的,如果是现有用户,则将跳过此检查,因为我们希望已经(当然)采用了用户名.

我在viewmodel上添加了一个[Remote]属性,并为新/退出用户添加了radiobutton作为"附加字段".这样,如果是现有用户,远程验证将返回true,如果不是,则检查数据库,以查看是否采用了用户名.

这很有效,除非用户在输入用户名后决定更改单选按钮(新/现有)(并且远程验证已运行).由于远程验证仅在用户名更改时自动运行(即具有[Remote]属性的属性),因此单独更改单选按钮不会再次运行.

所以我的问题是,如何强制远程验证再次运行?我通过在用户名输入字段上触发更改/焦点/模糊事件来尝试通常的黑客攻击,但是不会触发调用.我认为增加的单选按钮类似[远程],但是这将事情真的有两个相等的寻找错误信息,放置在同一个绝对位置复杂化.

有没有办法触发重新验证?

unobtrusive-validation asp.net-mvc-3 remote-validation

10
推荐指数
1
解决办法
9139
查看次数

在unique4net中使用uniqueidentifier/guids作为自定义属性

我正在尝试添加一个自定义属性,这是一个guid,但它给了我这个错误:

System.InvalidCastException:无法将参数值从String转换为Guid.---> System.InvalidCastException:从'System.String'到'System.Guid'的无效转换.

我在配置中指定了这个:

<parameter>
<parameterName value="@id" />
<dbType value="Guid" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%X{id}" />
</layout>
</parameter>
Run Code Online (Sandbox Code Playgroud)

我使用的实际代码(片段)是这样的:

        Guid guid = Guid.NewGuid();
        if (defaultLogger.IsEnabledFor(level))
        {
            var loggingEvent = new LoggingEvent(ThisDeclaringType,
 defaultLogger.Repository, defaultLogger.Name, level, message, exception);
            loggingEvent.Properties["Id"] = guid;
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?:)数据库中的id字段被定义为唯一标识符NOT NULL,但它没有主键约束.

.net log4net uniqueidentifier

9
推荐指数
1
解决办法
6853
查看次数

在类库中正确实现缓存以在asp.net应用程序中使用

我正在我在asp.net应用程序中使用的类库中实现缓存.

我使用静态方法创建了我的缓存对象作为单例模式来更新缓存,这实际上只是加载一个成员变量/属性,其中包含我需要缓存的数据集合(得到一些锁定逻辑的课程).我认为这是一个很好的方式,因为我可以通过调用访问我的数据

MyCacheObject.Instance.MyDataCollection
Run Code Online (Sandbox Code Playgroud)

我正在创建一个新的缓存对象来存储由某个键分区的大量数据.我所说的是我正在创建一个新的缓存,但是这个不会一次加载所有数据,而是为每个访问的密钥存储一个集合.

MyOtherCacheObject.Instance.MyOtherDataCollection(indexkey)
Run Code Online (Sandbox Code Playgroud)

这次提出了关于垃圾收集的问题.由于我存储了大量的数据,如果突然得到gc,它不会是浪费吗?由于它只是一个单例模式,因此无法确保数据保留在缓存中.

所以我的问题是 - 实现缓存来处理这种情况的最佳做法是什么?我真的不喜欢这个非常复杂的解决方案,我知道System.Web中有缓存,但这似乎有点"关闭",因为这只是一个类库,或者你怎么看?

c# asp.net singleton caching garbage-collection

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

使用锁定Dictionary <string,object>的键

我有一个Dictionary<string, someobject>.

编辑:有人向我指出,我的榜样很糟糕.我的全部意图不是更新循环中的引用,而是根据需要更新/获取数据的不同线程更新不同的值.我将循环更改为方法.

我需要更新我的字典中的项目 - 一次一个键,我想知道在我的Dictionary对象的.key值上使用锁是否有任何问题?

private static Dictionary<string, MatrixElement> matrixElements = new Dictionary<string, MatrixElement>();

//Pseudo-code

public static void UpdateValue(string key)
{
    KeyValuePair<string, MatrixElement> keyValuePair = matrixElements[key];
    lock (keyValuePair.Key)
    {
        keyValuePair.Value  = SomeMeanMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

这会在法庭上举行还是失败?我只是希望字典中的每个值都被独立锁定,因此锁定(和更新)一个值不会锁定其他值.此外,我知道锁定将持续很长时间 - 但数据将无效,直到完全更新.

c# dictionary locking

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

是否可以在IIS6托管服务中托管TCP端点?

我创建了一个基于ServiceHostFactory的wcf服务,我在IIS6中托管它.如果我使用HTTP端点一切正常,但当我尝试切换到TCP时,它会变坏.

在II6中甚至可以做到这一点吗?

我在这里发布了一个更具体的问题,请求解决方案,但我会很高兴(对于初学者,如果没有)只有一个答案(也许是一个例子)到这个 - 不太具体的问题.

为什么我不能用net.tcp连接到WCF服务,但我可以使用http?

wcf iis-6

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

在UpdatePanel更新后注册动态javascript

我有一个动态创建的javascript页面(该脚本非常静态,但其变量的值根据用户输入填充).

获取用户输入的结果和控件位于UpdatePanel内,UpdatePanel在某些用户输入上更新自身.其中一些用户输入导致我之前谈到的变量发生变化,所以我需要注册一个新的javascript.

问题是只更新面板得到更新,脚本在更新面板外注册,因此不会添加新脚本.

您认为现在最佳做法是什么?我可以通过让这个脚本(和变量)存在 updatepanel中来解决这个问题,或者我可以确保在需要发布新的javascript时完全重新加载页面?我在页面上已有的ScriptManager可以帮助我...

所以我正在寻找一个有类似问题并以一种很好的方式解决它们的人,或者只是一个有一些聪明主意的人:)

javascript asp.net updatepanel

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