小编Rob*_*los的帖子

如何在C#中获得精确的DateTime

我知道它DateTime.UtcNow没有相对较高的精度(10-15 ms分辨率).

这对我来说是一个问题,因为在我的日志文件中,我想要更好的解决方案来解决竞争条件.

问题是:如何以比DateTime.UtcNow提供的更精确的方式获得当前日期/时间?

到目前为止,我见过的唯一解决方案是:https://stackoverflow.com/a/15008836/270348.这是解决问题的合适方法吗?

c# datetime

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

SplFileObject :: READ_CSV似乎没有正确读取CSV文件 - 忽略外壳"

在提出这个问题之前,我已经阅读了文档并广泛搜索了这个网站.

$file = new SplFileObject("/var/www/qacentre/compliance/compliance.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {

}
Run Code Online (Sandbox Code Playgroud)

示例CSV行;

"ABEL, TAMMY 454454","End of: ABEL, TAMMY 454454",QP544454,28/10/2012 11:41,"0811 unlawfully use, possess","STEPHENS, JEREMY 54544454",LINK OPERATIONS,Located details incorrect,Entity: FORD FALCON Reg #: Colour: White

我已经回显了输出,看起来它没有识别机箱字符(").我试图使用SetCSVControl虽然我使用的是默认机箱.我也试过逃避机箱字符SetCSVControl(因为我无法控制CSV文件我正在导出).

例如,当我打印第一列的结果时,我应该收到(ABEL,TAMMY 454454)("ABEL").

我读过这可能是我的语言环境设置的问题(en-GB,en-US; q = 0.8,en; q = 0.6)?

任何帮助都会很棒.

php csv splfileobject

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

有没有办法确定 .NET 程序集是否使用“确定性”标志进行编译?

我正在使用此答案中的代码来获取 .NET 程序集的链接器时间戳。

但是,如果程序集被编译为“确定性”,则该值并不是构建程序集的准确时间(参考),因此我想忽略它。

PE 标头(或程序集的任何其他部分)中是否有任何信息表明它已构建为“确定性”?

.net .net-assembly portable-executable

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

加入域时本地用户帐户的 Principal.IsMemberOf 异常

我正在尝试确定给定的本地用户帐户是否在本地管理员组中。一切正常,直到系统加入域。当加入域时,会抛出未找到网络路径的异常,但仅在查找本地非管理员帐户时才会抛出;如果测试帐户是本地管理员,则该方法返回正常。

这是代码的示例:

string accountName = @"localAccountName"; 
string groupName = @"Administrators";

using (PrincipalContext principalContext = new PrincipalContext(ContextType.Machine))
{
    using (UserPrincipal accountPrinciple = new UserPrincipal(principalContext))
    {
        accountPrinciple.SamAccountName = accountName;
        using (PrincipalSearcher accountSearcher = new PrincipalSearcher(accountPrinciple))
        {
            UserPrincipal account = (UserPrincipal)accountSearcher.FindOne();
            if(account != null)
            {
                using (GroupPrincipal groupPrinciple = new GroupPrincipal(principalContext))
                {
                    groupPrinciple.SamAccountName = groupName;
                    using (PrincipalSearcher groupSearcher = new PrincipalSearcher(groupPrinciple))
                    {
                        GroupPrincipal group = (GroupPrincipal)groupSearcher.FindOne();
                        if (account.IsMemberOf(group))
                        {
                            Console.WriteLine(@"{0} is part of the administrators group", accountName);
                        }
                        else
                        {
                            Console.WriteLine(@"{0} is not …
Run Code Online (Sandbox Code Playgroud)

c# dns user-management active-directory workgroup

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

IIS URL重写IP地址

是否可以将IP地址重写为名称?例如,我有http://159.163.21.22/Default.aspx并想要将其更改为http://example/Default.aspx.

感谢你们!

c# asp.net iis url

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

如何使用BlockingCollection <>解决生产者/消费者竞争条件

我正在实现一个记录器,它将记录写入数据库.为了防止数据库写入阻塞调用记录器的代码,我已经将数据库访问移动到一个单独的线程,使用基于生产者/消费者模型实现BlockingCollection<string>.

这是简化的实现:

abstract class DbLogger : TraceListener
{
    private readonly BlockingCollection<string> _buffer;
    private readonly Task _writerTask;

    DbLogger() 
    {
        this._buffer = new BlockingCollection<string>(new ConcurrentQueue<string>(), 1000);
        this._writerTask = Task.Factory.StartNew(this.ProcessBuffer, TaskCreationOptions.LongRunning);
    }

    // Enqueue the msg.
    public void LogMessage(string msg) { this._buffer.Add(msg); }

    private void ProcessBuffer()
    {
        foreach (string msg in this._buffer.GetConsumingEnumerable())
        {
            this.WriteToDb(msg);
        }
    }

    protected abstract void WriteToDb(string msg);

    protected override void Dispose(bool disposing) 
    { 
        if (disposing) 
        {
            // Signal to the blocking collection that the enumerator is done. …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading thread-safety

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

如何在xquery中执行不区分大小写的属性选择器

我正在尝试查询SQL Server中的XML列,并且我想选择属性值与不区分大小写的字符串匹配的记录.

例如,请考虑XML列的以下值:

<items>
  <item k="Description" v="hello" />
</items>
Run Code Online (Sandbox Code Playgroud)

现在,我的选择看起来像这样:

SELECT
MyXmlColumn.value('(/items/item[@k="Description"]/@v)[1]', 'nvarchar(max)') as v
FROM Table
Run Code Online (Sandbox Code Playgroud)

问题是"k"属性的值可能是"描述","描述"或"描述".

如何编写XQuery以便它执行不区分大小写的匹配?

sql-server xquery

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

共享程序集中的静态字段

如果共享程序集(在GAC中)具有静态字段,并且字段的值已更新,那么是否会反映在引用共享程序集的客户端应用程序中?或者客户端应用程序是否需要重建?

c# gac

3
推荐指数
2
解决办法
326
查看次数

jQuery防止默认操作功能键(F3,F4等)

我在这里有一个非常基本的例子:http://jsfiddle.net/arhVd/1/

<form>
  <input type="text">
  <input type="submit">
</form>

$(function () {

    $(document).keydown(function(e) {

        e.preventDefault();

        $('form').submit();
    });
});
Run Code Online (Sandbox Code Playgroud)

我想确保在按F4时它没有内置的浏览器功能(在F4的情况下设置焦点到URL栏.或者可能F3显示'查找'栏.)提交表单的功能仍然有效,我只是不希望浏览器功能妨碍.

这是一个内部应用程序,功能键应该在其中运行应用程序中的HotKeys.

jquery hotkeys keyboard-events

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

这个电话是从哪里来的?

我有一些非常类似于以下内容的代码:

class C {
    string s;
    static C a = new C();

    static void Main() {
        C b = a;
        b.s = "hello";
}
Run Code Online (Sandbox Code Playgroud)

Main在发布模式下,该方法的反汇编如下:

        C b = a;
00000000  push        ebp 
00000001  mov         ebp,esp 
00000003  push        eax 
00000004  cmp         dword ptr ds:[04581D9Ch],0 
0000000b  je          00000012 
0000000d  call        763B3BC3 
00000012  xor         edx,edx 
00000014  mov         dword ptr [ebp-4],edx 
00000017  mov         eax,dword ptr ds:[01B24E20h] ; Everything up to this point
0000001c  mov         dword ptr [ebp-4],eax        ; is fairly clear.
        b.s = …
Run Code Online (Sandbox Code Playgroud)

c# il disassembly

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