小编Ste*_*yer的帖子

无点无法编译; 在Bootstrap 3少来源

我使用无点1.3.1.0编译较少的文件.这与bootstrap 2.x工作正常,但在切换到bootstrap 3.0.0(从这里下载源代码:http://getbootstrap.com/getting-started/)后,我突然收到此错误:

预期')'但在文件'mixins.less'第47行找到'':[46]://调整快捷方式[47]:.size(@width; @height){--------- --- ^ [48]:宽度:@width;

似乎有一个; 因为参数之间的分隔符无效.mixins.less中的原始源代码如下:

...
// Sizing shortcuts
.size(@width; @height) {
  width: @width;
  height: @height;
}
...
Run Code Online (Sandbox Code Playgroud)

我是否必须使用更新的更少的编译器?或者引导发布的bug少了源?

更新1:我可以看到,无点的拉取请求存在,解决了问题;

https://github.com/dotless/dotless/pulls "修复; mixin参数列表不支持#319#320"

我将继续使用css文件,直到无线点修复.

dotless twitter-bootstrap-3

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

C#和dotnet 4.7.1没有为TLS 1.2调用添加自定义证书

我有以下C#代码,使用自定义证书构建https调用.使用Tls 1.1时,通话正常.使用Tls 1.2时,呼叫会中断.我使用curl,使用tls 1.2也可以正常工作.

C#代码:

X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import("C:\\SomePath\\MyCertificate.pfx", "MyPassword", X509KeyStorageFlags.PersistKeySet);
var cert = collection[0];

ServicePointManager.SecurityProtocol = ...;

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => true;
HttpClientHandler handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true;
handler.ClientCertificates.Add(cert);

var content = new ByteArrayContent(Encoding.GetEncoding("latin1").GetBytes("Hello world"));
HttpClient client = new HttpClient(handler);
var resp = client.PostAsync(requestUri: url, content: content).Result.Content.ReadAsStringAsync().Result;
Run Code Online (Sandbox Code Playgroud)

适用于:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;
Run Code Online (Sandbox Code Playgroud)

错误:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)

.Net错误消息:SocketException:远程主机强制关闭现有连接

.Net版本:4.7.1

操作系统:Windows 10版本1703(支持的密码列表:https://msdn.microsoft.com/en-us/library/windows/desktop/mt808163(v = vs.85).aspx) - 服务器指定TLS_RSA_WITH_AES_256_GCM_SHA384为used,是支持的密码之一. …

c# x509certificate2 tls1.2

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

当ravendb正在运行托管其他数据库时,删除单个ravendb数据库

当RavenDB仍在运行,托管其他数据库时,有什么方法可以删除单个数据库中的所有数据?

在RavenDB为不同客户托管多个数据库的生产环境中,停止RavenDB以从单个数据库中删除数据是不可接受的.是否有必要自定义开发工具,单独删除文档来实现这一目标?

database environment production ravendb

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

命名列'Id'时,Dapper和"Operation可能会破坏运行时的稳定性"

我在.NET 4.5中使用dapper来简化查询我的MS SQl数据库.以下工作正常:

没问题:

const string sql = @"
SELECT g.Name, g.Slug, g.CreatedDate, COUNT(r.Id) recipientCount
FROM Groups g
LEFT JOIN GroupRecipients r ON r.GroupId = g.Id
WHERE g.CustomerId = @CustomerId
GROUP BY g.Id, g.Name, g.Slug, g.CreatedDate

";
Run Code Online (Sandbox Code Playgroud)

return _connection.Query(sql,new {CustomerId = customerId}).ToList();

问题选择'Id'列 - 提出VerificationException:

const string sql = @"
SELECT g.Id, g.Name, g.Slug, g.CreatedDate, COUNT(r.Id) recipientCount
FROM Groups g
LEFT JOIN GroupRecipients r ON r.GroupId = g.Id
WHERE g.CustomerId = @CustomerId
GROUP BY g.Id, g.Name, g.Slug, g.CreatedDate

"; …
Run Code Online (Sandbox Code Playgroud)

.net dapper

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

nginx错误消息 - "peer"是指什么?

为了调试nginx错误情况,我需要首先完全理解错误日志消息.我们的nginx会不时编写特定的错误日志消息.

记录消息

" SSL握手中的对等关闭连接(104:通过对等方连接重置),同时SSL握手到上游 ".

什么是"同行"?

我想知道:"peer"是指上游,意味着上游在ssl握手期间关闭了连接,或者它是否指向客户端,这意味着客户端在负载均衡器和Web服务器内部关闭时关闭了连接握手?

建立

  • nginx负载均衡器
  • 2个运行IIS8的Web服务器(上游)
  • Ssl提供者:Comodo

ssl nginx handshake

7
推荐指数
2
解决办法
5952
查看次数

asp.net 的事件聚合器

我的需求

我希望我们的内部标准产品在事情发生时触发不同的事件。在不同自定义解决方案的 global asax 中,我想在需要时连接这些事件并做出反应。

现有模块

我一直在寻找用于 asp.net 的事件聚合器,但我不确定要使用什么。我读过 Prism,但它似乎针对 WPF/Silverlight 而不是 asp.net。

然后是这个人,他似乎将聚合器移植到他自己的版本中,独立于 WPF:http : //weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-使您的应用程序更可扩展.aspx

有没有人在 asp.net 上使用事件聚合器的经验?这是用于生产用途,所以我不想使用网络上随机人员提供的一些家庭编码聚合器:)

先感谢您。

编辑 1: 看起来,NServiceBus 为此目的有点矫枉过正。我创建了一个单独的 EventAggregator 类来解决这个问题。

班上:

/// <summary>
/// A event aggregator.
/// </summary>
public class EventAggregator
{
/// <summary>The object to use when locking.</summary>
private readonly object _lock = new object();
/// <summary>Holder of registered event handlers</summary>
private readonly Dictionary<Type, List<object>> _handlers = new Dictionary<Type, List<object>>();
/// <summary>Registers the specified handler.</summary>
/// <typeparam name="T"></typeparam>
/// …
Run Code Online (Sandbox Code Playgroud)

c# asp.net events aggregator

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

在node.js和socket.io中发送数组时出错

我使用socket.io版本0.8.4

我把我的问题归结为以下问题.我的数据看起来像这样:

data.prop1 = [];
data.prop1.push("man");
data.prop2 = [];
data.prop2["hey"] = "man";
Run Code Online (Sandbox Code Playgroud)

我以这种方式将数据从服务器发送到客户端:

socket.emit("data", data);
Run Code Online (Sandbox Code Playgroud)

在客户端,我以这种方式接收数据:

socket.on("data", function(data){ console.log(data); });
Run Code Online (Sandbox Code Playgroud)

奇怪的是:

data.prop1 = [];
data.prop1.push("man"); // This data exists in the client side data object
data.prop2 = [];
data.prop2["hey"] = "man"; // This data does not exist.
Run Code Online (Sandbox Code Playgroud)

data.prop2只是客户端的一个空数组.

在prop2中的表单上json序列化数组是否存在已知错误?

先感谢您

编辑:

使用此变通方法解决了问题:

data.prop1 = [];
data.prop1.push("man");
data.prop2 = {}; // <= Object instead of array
data.prop2["hey"] = "man";
Run Code Online (Sandbox Code Playgroud)

arrays serialization node.js socket.io

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

收益率和异常处理

我刚才有一个使用yield返回的方法没有抛出我期望的ArgumentException的情况.我在这里用最简单的可能类重构了这个案例:

class Program
{
    static void Main(string[] args)
    {
        try
        {
            var listA = FooA(count: 0);
            Console.WriteLine("A did not throw exception!");
        }
        catch (ArgumentException)
        {
            Console.WriteLine("A threw exception!");
        }

        try
        {
            var listB = FooB(count: 0);
            Console.WriteLine("B did not throw exception!");
        }
        catch (ArgumentException)
        {
            Console.WriteLine("B threw exception!");
        }

        Console.ReadLine();
    }

    private static IEnumerable<int> FooA(int count)
    {
        if(count == 0)
            throw new ArgumentException("Count must be above 0");
        var list = new List<int>();
        for (var i = 0; i < count; …
Run Code Online (Sandbox Code Playgroud)

c# clr jit exception yield-return

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

在不同的事件日志中创建以前删除的源不起作用

在测试 log4net EventLogAppender 期间,我已经与 Windows 事件日志进行了长时间的斗争,其行为不一致,我意识到 log4net 代码有效,但我的 Windows 事件日志是不合理的。

系统

  • 操作系统:Windows 8.1
  • C#:.Net 4.5,针对 x64 构建

创建错误案例

  • C#:在 TestLog1 中创建 Source1
  • C#:写入日志(有效)
  • Powershell:使用 powershell 删除日志
  • C# 在 TestLog2 中创建 Source1(不同日志)
  • C# 写入日志 <= 这表明 TestLog2 中没有日志条目!

我已经制作了完整的分步指南来重现问题:

1:在新日志中创建新源并写入

执行代码:

EventLog.CreateEventSource(source: "TestSource1", logName: "TestLog1");
EventLog myLog = new EventLog();
myLog.Source = "TestSource1";
myLog.WriteEntry("This is a message");
Run Code Online (Sandbox Code Playgroud)

使用 powershell 命令列出日志:

Get-EventLog -LogName *
Run Code Online (Sandbox Code Playgroud)

这将正确列出所有日志,包括包含 1 个日志条目的 TestLog1。我还可以使用以下 powershell 命令获取日志条目:

GetEventLog -LogName "TestLog1"
Run Code Online (Sandbox Code Playgroud)

这显示了日志中的单个日志消息。

2:使用powershell删除事件日志

Powershell命令:

Remove-EventLog -LogName "TestLog1"
Run Code Online (Sandbox Code Playgroud)

现在列出所有日志显示该日志实际上已被删除。再次使用 Powershell 命令: …

c# powershell eventlog-source

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

带有 zzz 的 C# DateTime.ToString 在 dotnet 框架中中断,但不在 dotnet 核心中

我的当地时间是格林威治标准时间 +01:00 作为写作时间。在以下列方式执行 ToString 时,我遇到了一些令我意想不到的事情。开始了:

使用 +01:00 时区演示本地系统设置(所有这些都运行绿色):

var myLocalDate = new DateTime(2020, 11, 25, 08, 00, 00, DateTimeKind.Local);
Assert.AreEqual("2020-11-25T08:00:00+01:00", myLocalDate.ToString(@"yyyy-MM-dd\THH:mm:sszzz"));
Assert.AreEqual(DateTimeKind.Local, myLocalDate.Kind);
Assert.AreEqual(myLocalDate, myLocalDate.ToLocalTime());
Run Code Online (Sandbox Code Playgroud)

现在我通过手动减去一个小时并将“utc”指定为种类来创建相同的时间,在 utc 中。但是当我调用 ToString 时,时区写为 +01:00,我希望它是 +00:00:

var myUtcDate = new DateTime(2020, 11, 25, 07, 00, 00, DateTimeKind.Utc);
// THIS Breaks:
Assert.AreEqual("2020-11-25T07:00:00+00:00", myUtcDate.ToString(@"yyyy-MM-dd\THH:mm:sszzz"));
Run Code Online (Sandbox Code Playgroud)

错误信息:

消息:Assert.AreEqual 失败。预期:<2020-11-25T07:00:00+00:00>。实际:<2020-11-25T07:00:00+01:00>。

我是否在这里错过了有关日期时间和格式的信息,或者这可能是一个已知的错误?

我运行 .Net Framework 4.8

这篇文章是关于同样的问题,我看到:如何解决 DateTimeInvalidLocalFormat 错误:“UTC DateTime 正在转换为仅适用于当地时间的格式的文本。”?

更新:

运行以下程序会在 dotnet 框架和 dotnet 核心中产生不同的结果(如 evk 所述):

Console.WriteLine(new DateTime(2025, 11, 25, 07, 00, 00, DateTimeKind.Utc).ToString(@"yyyy-MM-dd\THH:mm:sszzz"));
Run Code Online (Sandbox Code Playgroud)

dotnet 核心打印: …

c# datetime

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