小编Chr*_*zie的帖子

如何记录所有Rabbit MQ消息?

我们使用RabbitMQ服务器在应用程序之间进行消息传递.我们需要为进入Rabbit服务器的所有amqp消息创建一个中央日志.我们的目的不是临时调试,而是可审计性.理想情况下,我可以先登录到指定的文件,然后再登录到Logly或Splunk等外部系统.

我已经探索过打开Firehose并使用跟踪插件,但是这些队列并不耐用.如果在启动日志记录后将新队列和交换添加到虚拟主机,我也不确定这些解决方案是否有效.这些工具似乎更适合我需要的临时调试.

我很想听听你的想法.在这一点上,我担心我必须设置一个网络监视器来拦截和记录消息,然后才能到达Rabbit.

logging rabbitmq

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

Reporting Services LocalReport和WIF

我有一个使用WIF进行身份验证的wcf webservice.此Web服务的部分职责是生成报告并通过电子邮件发送.如果我使用数据呈现报告,一切都很好.如果我包含任何报表参数,报表常量,甚至只包含DateTime.现在我得到以下异常:

An error occurred during local report processing.Failed to load expression host assembly. Details: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed
Run Code Online (Sandbox Code Playgroud)

我可以在不使用WIF的WCF服务中运行相同的报告,因此很明显有关安全环境的内容已经过时了.

我真的不知道如何解决这个问题.有人可以帮忙吗?谢谢!

service wcf reporting wif

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

Teamcity REST API在分支上获得最新的成功构建

我正在使用git flow和teamcity作为我的CI服务器.我想从特定分支上的最新成功构建中提取工件.

我可以使用这个url来获取分支上的最新版本: http://$teamcity$/httpAuth/app/rest/buildTypes/name:$BuildTypeName$/builds/branch:name:$branchName$

但如果分支名称包含/(例如,git flow names branches feature/%release/%),则失败.

我已经尝试过url编码了/.例如,如果$branchName$> == 'release/branchName'我使用/builds/branch:name:release%2F$branchName$).

  • 工程 - /builds/branch:name:develop
  • 失败 - /builds/branch:name:release%2F$branchName$.

我没有得到API错误,但api结果为空.

git rest teamcity

9
推荐指数
2
解决办法
4142
查看次数

如何从AppVeyor发布beta nuget包

这是我试图在AppVeyor中实现的行为

  1. 构建代码(用Assembly邮件标记1.2.3.{build})
  2. 测试代码
  3. 如果测试通过,则创建nuget包
  4. 如果包成功创建,则发布测试包(1.2.3-beta-{build})
  5. 还可以使用工件包.

理想情况下,在发布nuget包时,它将作为预发行版发布.在NuGet中,这是通过在包版本的末尾添加字母字符来完成的.覆盖现有包也被认为是不好的做法(实际上,许多nuget实现不允许这样做).

AppVeyor可以很好地从github构建和测试软件,但我似乎无法控制nuget软件包版本.

给定:具有下一个语义版本1.2.3的包我希望AppVeyor {version}变量等于1.2.3.{build} 我希望nuget包版本等同于1.2.3-beta-{build}

我尝试的第一件事就是在{version}框中使用变量.显然这是不允许的.AppVeyor似乎只做变量替换,{branch}{build}作为其中的一部分{version}.这意味着我将不得不为语义版本维护一个单独的变量.

我遇到的下一个挑战是无法通过UI设置nuget包版本.它希望默认与AppVeyor构建版本相同.

我决定在测试运行后尝试使用Powershell创建包.这是有效的,但是Nuget Publish步骤想要在创建包之前运行,并且似乎没有办法控制执行顺序.

我想我走错了路.我需要一个概念性的重置.

这是我的appveyor.yml当前(不正确)状态:

version: 0.1.0.{build}
configuration: Release
assembly_info:
  patch: true
  file: '**\AssemblyInfo.*'
  assembly_version: '{version}'
  assembly_file_version: '{version}'
  assembly_informational_version: '{version}'
environment:
  packageVersion: 0.1.0
nuget:
  account_feed: true
  project_feed: true
  disable_publish_on_pr: true
before_build:
- ps: nuget restore
build:
  verbosity: minimal
artifacts:
- path: '*.nupkg'
  name: nuget package
deploy:
- provider: NuGet
  api_key:
    secure: blahblahblah
  artifact: '*.nupkg' …
Run Code Online (Sandbox Code Playgroud)

nuget semantic-versioning appveyor

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

如何从 WPF 窗口显示 Winforms 对话框?

这个问题的反面已经回答了很多次。

public static void SetOwner(object activeWindow, object dialog)
{
    if (IsWindow(dialog) && IsWindow(activeWindow))
    {
        (dialog as Window).Owner = (activeWindow as Window);
    }
    else if (IsForm(dialog) && IsForm(activeWindow))
    {
        (dialog as Form).Owner = (activeWindow as Form);
    }
    else if (IsWindow(dialog) && IsForm(activeWindow))
    {
        var wih = new WindowInteropHelper(dialog as Window);
        wih.Owner = (activeWindow as Form).Handle;
    }
    else if (IsForm(dialog) && IsWindow(activeWindow))
    {
        var dialogForm = dialog as Form;
        var ownerWindow = activeWindow as Window;
        // What goes here?
    }           
}
Run Code Online (Sandbox Code Playgroud)

wpf winforms

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