问题列表 - 第21695页

C#IO读取和写入文件正在使用错误

我有一个库来处理读取和写入缓存文件.Windows服务和同一台计算机上的控制台应用程序的多个实例使用此库.控制台应用程序在用户登录时运行.

我偶尔会遇到IO错误,说缓存文件正由另一个进程使用.我假设在不同的应用程序实例和尝试同时读写的服务之间发生冲突.

有没有办法在文件使用时锁定文件并强制所有其他请求"排队等待"访问文件?

    private void SaveCacheToDisk(WindowsUser user) {
        string serializedCache = SerializeCache(_cache);
        //encryt
        serializedCache = AES.Encrypt(serializedCache);

        string path = user == null ? ApplicationHelper.CacheDiskPath() :
            _registry.GetCachePath(user);
        string appdata = user == null ? ApplicationHelper.ClientApplicationDataFolder() :
            _registry.GetApplicationDataPath(user);

        if (Directory.Exists(appdata) == false) {
            Directory.CreateDirectory(appdata);
        }

        if (File.Exists(path) == false) {
            using (FileStream stream = File.Create(path)) { }
        }

        using (FileStream stream = File.Open(path, FileMode.Truncate)) {
            using (StreamWriter writer = new StreamWriter(stream)) {
                writer.Write(serializedCache);
            }
        }
    }

    private string ReadCacheFromDisk(WindowsUser user) {
        //cache …
Run Code Online (Sandbox Code Playgroud)

c# file-io

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

单元测试附加行为wpf

一般来说,我仍然习惯于附加行为,并且看不出如何为一个人编写单元测试.

我在Sacha Barber的Cinch框架下面粘贴了一些代码,允许通过附加行为关闭窗口.有人能告诉我一个示例单元测试吗?

谢谢!
Berryl

    #region Close

    /// <summary>Dependency property which holds the ICommand for the Close event</summary>
    public static readonly DependencyProperty CloseProperty =
        DependencyProperty.RegisterAttached("Close",
            typeof(ICommand), typeof(Lifetime),
                new UIPropertyMetadata(null, OnCloseEventInfoChanged));

    /// <summary>Attached Property getter to retrieve the CloseProperty ICommand</summary>
    public static ICommand GetClose(DependencyObject source)
    {
        return (ICommand)source.GetValue(CloseProperty);
    }

    /// <summary>Attached Property setter to change the CloseProperty ICommand</summary>
    public static void SetClose(DependencyObject source, ICommand command)
    {
        source.SetValue(CloseProperty, command);
    }

    /// <summary>This is the property changed handler for the Close property.</summary>
    private …
Run Code Online (Sandbox Code Playgroud)

wpf unit-testing attachedbehaviors

7
推荐指数
1
解决办法
3418
查看次数

Jquery fadeout文本包含一个文本框和textarea

嗨这应该是一个非常容易的问题,但我被卡住了.是否可以淡出文本框和textarea中的文本并将实际元素保留在原位.我已经尝试淡出使用.html().val()等,但文本所在的元素也总是褪色.

jquery fadeout

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

你如何解决实时搜索的"滞后"问题?

嗨,我正在我的webapp中实现实时搜索(=键入时搜索)功能.目前我正在使用keyup事件通过ajax post发送搜索请求,例如

$('#SearchField').keyup(function(e) {
        $.post(
           ...
        );
});
Run Code Online (Sandbox Code Playgroud)

但是这会导致某种滞后问题,在某些情况下,当我搜索时,例如在"问题"之后,"专业"的响应在"问题"的响应之后显示出来,并以一种方式覆盖正确的搜索结果结果很好.

什么是打击这种行为的好方法?

TIA

search jquery

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

WCF OperationContract - 我应该公开哪种通用集合类型?

我有一个WCF Web服务,它有一个返回泛型集合的方法.现在,我的问题是:我应该公开为ICollection<T>,List<T>,IList<T>,IEnumerable<T>或其他什么东西?

我想这List<T>不可能的,因为我想避免CA1002错误,但底层类型将是一个List<T>.

我真的很想听听你对此的看法,最好能够很好地解释你为什么这么想.

提前致谢

c# collections wcf operationcontract

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

检查NSString是否有特殊字符

我想检查NSString的特殊字符,即除了az,AZ和0-9之外的任何字符.

我不需要检查有多少特殊字符或它们的位置,我只需要知道特定字符串是否包含任何字符.如果是,那么我希望能够显示"错误!"或类似的东西.

例如, jHfd9982可以,但asdJh992 @不是.

此外,不应允许带有重音符号,变音符号等的字母.

我该怎么做?

谢谢!

迈克尔

cocoa special-characters nsstring

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

Java LinkedList上一个下一个

是什么类似于Java的.Net LinkedListNode<(Of <(T>)>)..::.NextLinkedListNode<(Of <(T>)>)..::.Previous属性java.util.LinkedList.

.net java linked-list

9
推荐指数
2
解决办法
8004
查看次数

在NHibernate,Fluent NHibernate和SQL Server 2008中使用Time列

我的SQL Server 2008数据库中有一个包含时间列的表.

我想要映射到的对象的属性是TimeSpan.

我如何告诉FluentNHibernate使用TimeAsTimeSpan NHibernate类型,以便我没有演员问题?

nhibernate nhibernate-mapping fluent-nhibernate sql-server-2008

9
推荐指数
2
解决办法
3550
查看次数

SQL Server 2005(Express) - 登录vs用户

我是Microsoft SQL Server的新手.我有一些MySQL的经验,如果我理解正确的话,你就有了一个拥有特权的用户; 这些权限决定了您在MySQL服务器上可以访问的数据库.

但是现在我处于我必须在SQL Server 2005 Express上恢复数据库的情况,并且该数据库具有自己的用户和用户密码.因此,如果我想让这些用户可以从外部访问(以便他们可以连接到我的服务器),我该怎么做呢?

为了说明更清楚; 假设数据库服务器上有两个登录帐户"Mike"和"John",而数据库"Animals"上有两个用户; "克里斯"和"杰夫".

我需要Jeff能够登录才能访问数据库.有没有一种很好的方法可以在不创建新用户/登录的情况下实现这一目标?如果没有,最好/最常见的解决方案是什么?

我真的很感激任何有用的输入!

sql sql-server sql-server-2005 sql-server-2005-express

4
推荐指数
1
解决办法
2300
查看次数

JQGrid MultiSelect获取列数据

有没有办法让JQGrid返回一个列数据数组以便使用multiSelect而不仅仅是一个rowIds数组?

目前我只能返回所选的最后一列数据.

jQuery("#buttonSelected").click(function() {

           var ids = jQuery("#relatedSearchGrid").getGridParam('selarrrow');
           var count = ids.length;

           for (var i = 0; i < count; i++) {

           var columnData = $("#relatedSearchGrid").find("tbody")[0].rows[$("#relatedSearchGrid").getGridParam('selrow') - 1].cells[1].innerHTML;

               alert("In the loop and  " + columnData );

           }

           if (count == 0) return;
           var posturl = '<%= ResolveUrl("~") %>Rel******/AddSelected****/' + ids;
           if (confirm("Add these " + count + " Docs?")) {
               $.post(posturl,
               { ids: columnData },
               function() { jQuery("#relatedSearchGrid").trigger("reloadGrid") },
            "json");
           }


       })
Run Code Online (Sandbox Code Playgroud)

javascript jquery jqgrid

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