小编Dav*_*vid的帖子

延迟然后执行任务

快问,我想在启动没有返回值的异步任务之前等待一秒钟.
这是正确的方法吗?

Task.Delay(1000)
    .ContinueWith(t => _mq.Send(message))
    .Start();
Run Code Online (Sandbox Code Playgroud)

异常会发生什么?

.net c# asynchronous task-parallel-library

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

Windows Service Bus添加到MSMQ有什么作用?

我想对简单的发布/订阅架构做出明智的选择.

所以我想知道:服务总线添加了什么,MSMQ不能做什么?服务总线有
哪些缺点

感谢我的启发!

.net c# msmq servicebus publish-subscribe

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

使用Unity自动注册所有接口

使用Unity,我想根据以下约定自动注册程序集中的所有接口/类组合:

INameOfObject > NameOfObject
Run Code Online (Sandbox Code Playgroud)

当启用默认约定时,StructureMap会执行此操作.

我为它写了以下方法:

private static IUnityContainer RegisterITypesOf(this IUnityContainer container, string assemblyName)
{
  Assembly.Load(assemblyName)
    .GetTypes()
    .Where(t => t.GetInterfaces().Any(i => i.Name == "I" + t.Name))
    .ForEach(t => container.RegisterType(t.GetInterface("I" + t.Name, false), t));
  return container;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 是否有一个内置函数做同样的事情?
  • 如果没有,我的代码可以改进性能吗?

.net c# inversion-of-control unity-container

18
推荐指数
2
解决办法
8939
查看次数

从其他服务引用重用现有类

我正在处理的情况不是最理想的,所以请耐心等待..

我们将使用外部(非.NET)SOAP-webservices.
出于某种原因,每个方法都使用自己的WSDL单独的Web服务中实现.Web服务返回的 许多对象具有完全相同的设计,名称和xml命名空间.

使用" 添加服务引用 "是因为:
- 内部开发团队习惯了它
- 我们希望保留自动"更新服务参考"

第二个引用添加了"所有引用的程序集中的重用类型"选项.然而,
所有类都在新引用下再次生成.

是哪里的方式再利用从班第一参考

.net c# web-services service-reference

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

SSIS:如果条件满足则执行第一个任务否则跳到下一个

我开始了解SSIS,如果问题太简单,我道歉.

foreach-loop- container中有一组任务.
一个任务只需要某个用户变量不为null或为空的情况下执行.
否则,流程应跳过第一个任务并继续到第二个任务.

如何实现这一点(详细)?

sql-server ssis

9
推荐指数
3
解决办法
8万
查看次数

NuGet:包含.pdb文件并排除"Content"文件夹

我在CI-build中添加了以下行,以在每个构建上创建一个私有NuGet包:

nuget pack C:\Projects\Test\Test.vbproj -OutputDirectory \\nas1\NuGet 
Run Code Online (Sandbox Code Playgroud)

所述集信息被读出(包括版本号),并且创建NuGet包.
我希望包中包含.pdb文件,而不包含"Content"文件夹(所以只包含'lib').

如何我可以改变命令这样做呢?

.net visual-studio nuget nuget-package

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

Dispose由WCF ChannelFactory创建的频道

我正在寻找一种干净的方法ChannelFactory为我创建通道,并能够在使用后处理它们.
这就是我得到的:

public class ClientFactory : IClientFactory
{
    private const string endpointName = "IMyService";
    private readonly ChannelFactory<IMyService> _factory;

    public ClientFactory()
    {
        _factory = new ChannelFactory<IMyService>(endpointName);
    }

    public Client<IMyService> GetClient()
    {       
        IMyService channel = _factory.CreateChannel();
        return new Client<IMyService>(channel);
    }
}

public class Client<T> : IDisposable
{
    public T Channel { get; private set; }

    public Client(T channel)
    {
        if (channel == null)
            throw new ArgumentException("channel");

        Channel = channel;
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf channelfactory

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

在.NET中的远程计算机上获取环境变量的真实值

我试图让实际值环境变量.
这是我到目前为止:

string query = string.Format("Select VariableValue From Win32_Environment Where Name = '{0}'", variableName);

using (var searcher = new ManagementObjectSearcher(query))
using (ManagementObject result = searcher.Get().Cast<ManagementObject>().FirstOrDefault())
{
    if (result != null)
    return Convert.ToString(result["VariableValue"]);
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但问题在于:将'windir'作为名称获取'%SystemRoot%'作为值.我真正想要的实际路径,即'C:\ Windows'.

尝试使用递归来获取'SystemRoot'值,没有找到匹配项.

如何确保返回真实值
谢谢!

.net c# windows wmi environment-variables

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

WebAPI:自定义参数映射

鉴于控制器:

public class MyController : ApiController
{
    public MyResponse Get([FromUri] MyRequest request)
    {
        // do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

而型号:

public class MyRequest
{
    public Coordinate Point { get; set; }
    // other properties
}

public class Coordinate
{
    public decimal X { get; set; }
    public decimal Y { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

API网址:

/api/my?Point=50.71,4.52
Run Code Online (Sandbox Code Playgroud)

我想在到达控制器之前从查询字符串值转换Point类型的属性.Coordinate50.71,4.52

我在哪里可以加入WebAPI来实现它?

.net c# model-binding asp.net-web-api

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

无法将命令传递给WPF用户控件

我正在尝试将命令传递给WPF用户控件中的元素.

<UserControl x:Class="MyApp.MyControl"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <!-- shortened -->
    <Button Command="{Binding Command}">
        <Button.Content>
            <!-- shortened -->
        </Button.Content>
    </Button>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
public partial class MyControl : UserControl
{
   public static readonly DependencyProperty CommandProperty
      = DependencyProperty.Register("Command", 
                                           typeof(ICommand), typeof(MyControl));
   //shortened        
   public ICommand Command
   {
      get { return (ICommand)GetValue(CommandProperty); }
      set { SetValue(CommandProperty, value); }
   }
   //shortened
} 
Run Code Online (Sandbox Code Playgroud)
<uc:MyControl Command="{Binding DoStuffCommand}" />  <!-- shortened -->
Run Code Online (Sandbox Code Playgroud)

单击用户控件中的按钮时,没有任何反应.
当我调试时,该Command属性为null.
将命令绑定到用户控件外部的按钮确实有效.
这里出了什么问题?

wpf binding user-controls command dependency-properties

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