小编Sim*_*mon的帖子

为什么在反思中观察内部阶级不公开?

AKA为什么这个测试失败了?

[TestFixture]
public class Tests
{
    [Test]
    public void InnerClassShouldBePublic()
    {
        Assert.IsTrue(typeof (InnerClass).IsPublic);
    }

    public class InnerClass
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

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

NServiceBus是否有全局异常处理程序?

在NServiceBus中处理异常当前建议是使用内置工具.错误的消息将转到错误消息队列,并将日志写入磁盘.

但是,如果我想将我的错误发送到像AirBrake这样的服务,该服务具有更好的功能来分组类似的异常,指标和其他好东西呢?我可以使用全局异常处理程序吗?

nservicebus

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

打开模拟时,为什么Thread.CurrentPrincipal.Identity和WindowsIdentity.GetCurrent()会有所不同?

我启用了模拟和Windows身份验证.

<authentication mode="Windows" />
<identity impersonate="true" userName="name" password="passord"/>
Run Code Online (Sandbox Code Playgroud)

但返回经过身份Thread.CurrentPrincipal.Identity.Name验证的用户的名称并WindowsIdentity.GetCurrent()返回模拟身份.

这些身份不应该相同吗?

在这种情况下,代码运行的凭据是什么?

asp.net security impersonation windows-identity current-principal

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

在SemVer中,向公众发布Beta版时,assembly + file版本应该是什么?

可以说我们是第一次发布.net库。我们希望进入Beta + Release Candidate阶段,以获取早期采用者的反馈。

因此,在SemVer的上下文中,我们最初将发布Version 1.0.0-Beta1。随着beta的增加和此后的发布候选。

为了争辩,我们现在的版本号是 0.3.0

因此,我们需要从SemVer中导出放置在各个.net版本占位符中的内容。那些是:

1. Nuget版本

用于命名nuget程序包,也被nuget用于对程序包进行排序并得出它是否为预发行版本

2.组装版本

请记住,程序集版本更改时,程序集的名称可能很强,绑定重定向可能会使Beta之间的移动复杂化

3.程序集文件版本

在文件属性对话框中哪个映射到“文件版本”

4.汇编信息版本

在文件属性对话框中哪个映射到“产品版本”

.net versioning nuget semantic-versioning

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

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

如何通过C#使用DllImport在OSX上获取剪贴板文本?

以下代码在OSX上设置剪贴板文本。读取剪贴板文本相当于什么?

static class OsxClipboard
{
    public static void SetText(string text)
    {
        var nsString = objc_getClass("NSString");
        var str = objc_msgSend(objc_msgSend(nsString, sel_registerName("alloc")), sel_registerName("initWithUTF8String:"), text);
        var dataType = objc_msgSend(objc_msgSend(nsString, sel_registerName("alloc")), sel_registerName("initWithUTF8String:"), NSPasteboardTypeString);

        var nsPasteboard = objc_getClass("NSPasteboard");
        var generalPasteboard = objc_msgSend(nsPasteboard, sel_registerName("generalPasteboard"));

        objc_msgSend(generalPasteboard, sel_registerName("clearContents"));
        objc_msgSend(generalPasteboard, sel_registerName("setString:forType:"), str, dataType);

        objc_msgSend(str, sel_registerName("release"));
        objc_msgSend(dataType, sel_registerName("release"));
    }

    [DllImport("/System/Library/Frameworks/AppKit.framework/AppKit")]
    static extern IntPtr objc_getClass(string className);

    [DllImport("/System/Library/Frameworks/AppKit.framework/AppKit")]
    static extern IntPtr objc_msgSend(IntPtr receiver, IntPtr selector);

    [DllImport("/System/Library/Frameworks/AppKit.framework/AppKit")]
    static extern IntPtr objc_msgSend(IntPtr receiver, IntPtr selector, string arg1);

    [DllImport("/System/Library/Frameworks/AppKit.framework/AppKit")]
    static extern IntPtr objc_msgSend(IntPtr receiver, IntPtr …
Run Code Online (Sandbox Code Playgroud)

c# macos pinvoke dllimport

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

使用XmlTextWriter时如何在xml元素值中的换行符后缩进?

我在使用XmlTextWriter时尝试在换行符后缩进

所以基本上我想要这个

<?xml version="1.0" encoding="utf-16"?>
<element>
  a
</element>
Run Code Online (Sandbox Code Playgroud)

但是使用下面的代码我得到了这个

<?xml version="1.0" encoding="utf-16"?>
<element>
a
</element>
Run Code Online (Sandbox Code Playgroud)

这是我目前的测试工具

[Test]
public void XmlIndentingTest()
{
    var provider = new StringBuilder();
    var settings = new XmlWriterSettings
                       {
                           Indent = true,
                           IndentChars = "  ",
                       };
    using (var writer = new StringWriter(provider))
    {
        using (var xmlWriter = XmlTextWriter.Create(writer, settings))
        {
            xmlWriter.WriteStartElement("element");
            xmlWriter.WriteString("\r\na\r\n");
            xmlWriter.WriteEndElement();
        }
    }
    Debug.WriteLine(provider.ToString());
}
Run Code Online (Sandbox Code Playgroud)

.net xml xmltextwriter

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

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

我如何使用NServiceBus来做竞争消费者

我想到了nservicebus http://docs.particular.net/的文件,但仍然混淆我怎么能做我想做的事情.

我的目标是拥有一个Windows服务,生成任务并将它们放入队列,另一方面,我需要一些消费者,无论谁有空,从队列中获取任务,并在消息中指定作业.

任何人都可以给我一些提示,我怎么能继续?

谢谢

c# nservicebus integration-patterns

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

NServiceBus - 发布后回复消息

我有一个成功处理消息的订阅者,然后订阅者继续成功发布另一个消息以声明某个事件已经发生,我的问题是我在发布后尝试将消息返回给初始消息的发送者并且系统因以下消息而失败

没有为消息NServiceBus.Unicast.Transport.CompletionMessage指定目标.消息无法发送.检查配置文件中的UnicastBusConfig部分,并确保消息类型存在MessageEndpointMapping.

返回码如下所示:

 Bus.Publish(orderMessage);

 Bus.Return((int)MySendBus.Core.ErrorCode.Ok);
Run Code Online (Sandbox Code Playgroud)

app.config如下:

<configuration>
  <configSections>
    <section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core"/>
  </configSections>

  <MsmqTransportConfig InputQueue="MyServerInputQueue" ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我添加了一个单播部分,仍然得到相同的错误.我的理解是NServicebus知道如何回复消息,我不应该为app.config中找到的MsmqTransportConfig输入队列指定除了回复的队列.

是否可以让订阅者发布消息然后响应消息的发送位置?

c# nservicebus

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