我们使用RabbitMQ服务器在应用程序之间进行消息传递.我们需要为进入Rabbit服务器的所有amqp消息创建一个中央日志.我们的目的不是临时调试,而是可审计性.理想情况下,我可以先登录到指定的文件,然后再登录到Logly或Splunk等外部系统.
我已经探索过打开Firehose并使用跟踪插件,但是这些队列并不耐用.如果在启动日志记录后将新队列和交换添加到虚拟主机,我也不确定这些解决方案是否有效.这些工具似乎更适合我需要的临时调试.
我很想听听你的想法.在这一点上,我担心我必须设置一个网络监视器来拦截和记录消息,然后才能到达Rabbit.
我有一个使用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服务中运行相同的报告,因此很明显有关安全环境的内容已经过时了.
我真的不知道如何解决这个问题.有人可以帮忙吗?谢谢!
我正在使用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结果为空.
这是我试图在AppVeyor中实现的行为
1.2.3.{build}
)1.2.3-beta-{build}
)理想情况下,在发布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) 这个问题的反面已经回答了很多次。
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)