小编Chr*_*ons的帖子

如何还原缺少的IIS Express SSL证书?

建立在IIS快递HTTPS后,根据该文章的这个这个,我无法实际加载使用HTTPS的IIS快递网站.在Chrome中,我只会得到:

此网页不可用(错误代码为"ERR_CONNECTION_RESET")

...而在IE中我只得到:

Internet Explorer无法显示该网页

......当我按照那些文章中的指示.

这似乎与IIS Express自动安装的"IIS Express开发证书"已被删除有关.如何重新安装此证书?

ssl https ssl-certificate iis-express

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

Visual Studio 2010的全局源代码控制忽略模式应该包含哪些内容?

在安装和使用Visual Studio 2010之后,我看到了一些较新的文件类型(至少有C++项目...不知道其他类型)与2008年相比.例如.sdf,.opensdf,我猜是使用存储在SQL Server Compact文件中的Intellisense信息替换ncb文件?我还注意到生成了.log文件,它们似乎是构建日志.

鉴于此,添加到我的全局忽略模式可以安全吗?蝙蝠,我假设.sdf,.opensdf,但还有什么?

c++ version-control ignore visual-studio-2010 visual-studio

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

右键单击SQL Server Management Studio中禁用的脚本alter table

我想将一个表脚本编写为Alter到一个新的查询编辑器窗口.但是此选项已禁用.我怎样才能做到这一点?

sql-server ssms alter-table

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

如何在Visual Studio 2010中的C++项目的任务列表中显示TODO注释?

我试图将我的TODO注释显示在Visual Studio 2010中的C++项目的任务列表中,但它们没有.我看了这个,但除了TODO评论需要在当前打开的文件中之外,不要看任何警告.例如,创建一个新的Win32控制台应用程序放置:

// TODO: reference additional headers your program requires here
Run Code Online (Sandbox Code Playgroud)

在一个新文件中,stdafx.h.但是,任务列表中没有任何内容.

我从任务列表的下拉列表中选择了"注释",但它始终为空.而这不是这个问题 ; 我可以打开文件,在代码编辑器中查看TODO注释,不显示任务.这对于C#项目来说不是问题,因为TODO评论显示为在这些项目中设计的; 这似乎是C++项目特有的问题.

我还能检查什么?

visual-studio-2010

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

域事件处理程序什么时候开始发挥作用?

我有一个简单的两个聚合根和一个常规实体的检查域. Tenant,UserGroup以及User在这个特定样本中的位置TenantUser弥补两个AggregateRoots.

当从UI /服务层接收到命令时,它到达操作只写域的命令处理程序.

您可以说User根本不应该是AggregateRoot,但由于它将被其他人引用,因此它不能是常规实体.(是?)

这两个AggregateRoot需要进行通信.A User不能在不属于a的情况下创建,a UserGroup是有界上下文中的实体Tenant.据推测,我们可以通过构造函数创建一个用户,因为它是一个简单的约束.User.Create(TenantId, UserGroupId)

它生成一个DomainEventwith Date,AggregateVersion和AggregateId(用户).现在我们来到模糊的部分.

打开将此事件提交到商店,此事件将被广播到总线(内存,无论如何).这一点,该点域的事件处理程序,类似命令处理,抓创建的用户,并通知/操纵TenantUserGroup添加UserId

我对解决这个问题的想法是否会走向完全错误的方向?

c# events domain-driven-design cqrs domain-events

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

LINQ into SortedList

我是一个完整的LINQ新手,所以我不知道我的LINQ是否不正确我需要做什么或者我的性能期望是否太高.

我有一个对象的SortedList,用int键入; SortedList与SortedDictionary相对,因为我将使用预先排序的数据填充集合.我的任务是找到确切的密钥,或者,如果没有确切的密钥,则找到具有下一个更高值的密钥.如果列表的搜索太高(例如,最高键为100,但搜索105),则返回null.

// The structure of this class is unimportant.  Just using
// it as an illustration.
public class CX
{
    public int KEY;
    public DateTime DT;
}

static CX getItem(int i, SortedList<int, CX> list)
{
    var items =
    (from kv in list
     where kv.Key >= i
     select kv.Key);

    if (items.Any())
    {
        return list[items.Min()];
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

给定50,000条记录的列表,调用getItem 500次需要大约一秒半.拨打50,000次电话需要2分钟.这种表现似乎很差.我的LINQ坏了吗?我期待太多了吗?我应该滚动自己的二元搜索功能吗?

c# linq sortedlist sorteddictionary

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

MachineKeySessionSecurityTokenHandler和会话令牌在应用程序重新启动之间到期

在我的MVC应用程序中,我使用表单身份验证来验证用户,然后System.IdentityModel.Services.SessionAuthenticationModule继续会话.

虽然我还没有在这里有必要的时候,我也希望利用System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler这样应用程序将很好地住在一个Web场(由多米尼克·拜尔描述这里).

我遇到的问题是,鉴于基于machineKey的处理,我希望会话不仅可以从服务器机器到机器有效,而且还应该在应用程序重启后继续存在.但是,每当我重新启动或重建应用程序时,在浏览器中点击应用程序时,cookie显然会变为无效,我会被退回到身份验证屏幕.一旦再次验证,一切都很好,会话仍然存在.但是,下次应用程序重新启动或重建时,我不得不重新进行身份验证.

我确定这是WIF的一个方面,我没有得到,但我只是不知道从哪里转过来.我不怕延伸MachineKeySessionSecurityTokenHandler,但我想确保在我继续之前我理解这里发生了什么.我知道默认情况下SessionSecurityTokenHandler使用DPAPI结合应用程序池中的某些标识符进行加密,因此在这种情况下会发生这种情况,但这种行为MachineKeySessionSecurityTokenHandler让我感到困惑.应用程序中是否仍有一些标识符在重新启动时重新创建MachineKeySessionSecurityTokenHandler依赖?我只是错过了一个设置吗?

以下是我的web.config中的相关部分:

<configSections>
  <section name="system.identityModel"
           type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</configSections>
Run Code Online (Sandbox Code Playgroud)

...

<system.identityModel>
  <identityConfiguration>
    <securityTokenHandlers>
      <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </securityTokenHandlers>
  </identityConfiguration>
</system.identityModel>
Run Code Online (Sandbox Code Playgroud)

...

<system.web>
  <machineKey compatibilityMode="Framework45"
              validationKey="E27893..."
              decryptionKey="ABC..." 
              validation="SHA1" decryption="AES" />
  <authentication mode="Forms">
  <forms loginUrl="~/Account/Login"
         timeout="10080" />
  </authentication>
</system.web>
Run Code Online (Sandbox Code Playgroud)

...

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
    <add name="SessionAuthenticationModule"
         type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </modules> …
Run Code Online (Sandbox Code Playgroud)

claims-based-identity wif

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

默认的Visual Studio 2013 .gitignore在哪里?

很久以前我注意到每当我在现有的本地git repo文件夹中创建一个解决方案时,Visual Studio就会自动创建一个.gitignore文件.大.但是,我注意到它忽略了一些应该在源代码管理中的NCrunch文件(*.ncrunchsolution和*.ncrunchproject).所以我决定深入研究它.这里的问题是我不知道它从哪里获取此默认文件.我看到它基本上是gitignore GitHub项目中VisualStudio.gitignore的旧版本(恰好在4月修复了NCrunch问题).

我在哪里可以找到或配置Visual Studio git提供程序自动放入git repo的.gitignore源代码?

(编辑:我看了忽略主题,我假设是VS 2013 git功能的官方文档,但它没有帮助找到一个系统范围的设置.它只是提到"默认的.gitignore文件提供者Visual Studio"没有提及如何修改此文件."

git gitignore visual-studio-2013

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

CruiseControl.NET应该用于处理与构建源无关的任务吗?

也许奇怪的问题.我们有许多内部编写的简单实用程序,需要在自动化的基础上运行.这些不是构建工作.只是事情喜欢跑步SendOutHourlyEmailAlarms.exe,KeepFoldersInSynch.exe和这样的.我通常将这些事情设置为简单的计划任务/ AT命令(如果需要对调度进行更精细的控制,则为Windows服务),但是同事已经在CruiseControl上设置了许多这些任务作为构建项目. NET服务器.我问他为什么以这种方式设置这些并且他的响应是执行(及其日志,返回值,抛出的异常)都被跟踪和记录,并且这些信息可以通过构建服务器网站上的有组织的界面访问.我无法与此争论.

但这只是一种我无法辨认的气味.这是CruiseControl.NET的正确使用吗?如果没有,危险是什么?即使它可能适合该法案,是否还有其他产品更适合这种类型的东西?

cruisecontrol.net

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

使用信号量而不是while循环.这是好事还是坏事?

我有一个在它自己的线程中运行的进程,可以在不阻塞的情况下启动/停止.这将最终进入Windows服务,但我现在在控制台应用程序中设置它,直到它完全充实.

在调用Start()之后,我希望主程序线程被阻塞,直到按下Ctrl-C.我知道这会奏效:

public static void Main(string[] args)
{
    bool keepGoing = true;

    var service = new Service();

    System.Console.TreatControlCAsInput = false;

    System.Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs e)
    {
        e.Cancel = true;
        service.Stop();
        keepGoing = false; // Break the while loop below
    };

    service.Start();

    while( keepGoing )
    {
        Thread.Sleep(100); // 100 is arbitrary
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,我发现标志和任意睡眠值令人烦恼.我知道while循环中的CPU成本几乎为0,但我宁愿有一个"硬"块,一旦完成Ctrl-C处理程序就会释放.我设计了下面的内容,使用信号量来阻止,直到完成匿名的Ctrl-C处理程序:

public static void Main(string[] args)
{
    var service = new Service();

    var s = new Semaphore(1, 1);

    System.Console.TreatControlCAsInput = false;

    System.Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs e) …
Run Code Online (Sandbox Code Playgroud)

c# multithreading semaphore

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