有没有办法将PEM文件转换为PPK文件?(你可能猜到Amazon EC2给了我一个PEM文件,我需要使用PPK格式进行SSH连接).
我使用TeamCity,后者又调用msbuild(.NET 4).我有一个奇怪的问题,在构建完成后(如果它是一个成功的构建似乎没关系),msbuild.exe保持打开状态,并锁定其中一个文件,这意味着每次TeamCity尝试要清除其工作目录,它会失败,并且无法继续.
这几乎每次都会发生.
我真的迷失了这个,所以我会尽量提供尽可能多的细节.
/m
命令行参数(这意味着使用多个核心)External Tools\Telerik\Telerik.Reporting.Dll
.(External Tools
在类似的路径结构中,dir中还包含其他几个.DLL文件,这些文件永远不会导致此问题).目前,这是Telerik报告的试用版,以防万一.msbuild.exe *32
在任务管理器中列出的过程:我相信有7.使用Process Explorer中,他们看起来都像顶级工艺(无父母).它们全部使用20-50MB RAM和0.0%CPU.svn:mime-type = application/octet-stream
以前有人碰过这个吗?
我正在尝试使用WCF构建一个通用的Web服务接口,以允许第三方开发人员加入我们的软件.经过多次努力和阅读(这个问题有很多帮助),我终于让SOAP,JSON和XML(POX)一起工作了.
为了简化,这里是我的代码(为了使这个例子简单,我没有使用接口 - 我确实尝试了这两种方式):
<ServiceContract()> _
Public Class TestService
Public Sub New()
End Sub
<OperationContract()> _
<WebGet()> _
Public Function GetDate() As DateTime
Return Now
End Function
'<WebGet(UriTemplate:="getdateoffset/{numDays}")> _
<OperationContract()> _
Public Function GetDateOffset(ByVal numDays As Integer) As DateTime
Return Now.AddDays(numDays)
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
和web.config代码:
<services>
<service name="TestService"
behaviorConfiguration="TestServiceBehavior">
<endpoint address="soap" binding="basicHttpBinding" contract="TestService"/>
<endpoint address="json" binding="webHttpBinding" behaviorConfiguration="jsonBehavior" contract="TestService"/>
<endpoint address="xml" binding="webHttpBinding" behaviorConfiguration="poxBehavior" contract="TestService"/>
<endpoint address="mex" contract="IMetadataExchange" binding="mexHttpBinding" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="jsonBehavior">
<enableWebScript/>
</behavior>
<behavior …
Run Code Online (Sandbox Code Playgroud) 我有一个层次结构中的项目列表,我正在尝试将此列表解析为实际的对象层次结构.我正在使用修改的预订树遍历来存储/遍历此列表,因此我所拥有的是树的子集,包括所有子节点,按其"左"值排序.
例如,给定树:
我得到了清单:
(这是来自修改的预订树设置的"左"值的顺序).
我想要做的是将其解析为包含树的实际结构的对象,例如:
Class TreeObject {
String Name;
Guid ID;
Guid ParentID;
List<TreeObject> Children;
}
Run Code Online (Sandbox Code Playgroud)
平面列表作为TreeObjects列表返回 - 每个TreeObject都具有ID,ParentID,Left和Right属性.我正在寻找的是一个功能:
List<TreeObject> FlatToHeirarchy(List<TreeObject> list);
Run Code Online (Sandbox Code Playgroud)
获取平面列表,并返回嵌套列表.
换一种说法:
List<TreeObject> flatSet = LoadTreeObjectsFromDatabase();
// flatSet.count == 7; flatSet(0).Children == null
List<TreeObject> nestedSet = FlatToHeirarchy(flatSet);
// nestedSet.count == 3; nestedSet(0).Children.count == 2
Run Code Online (Sandbox Code Playgroud)
我不知道如何做到这一点 - 跟踪父母,并能够处理更大的跳跃(例如,项目A.2.2 - >项目B).
编辑:我在这里寻找一个非暴力解决方案(例如,不循环几次,将项目移动到子节点,直到只剩下顶级父级).我猜测有一个优雅的方法可以循环一次,只需根据需要放置项目.
请记住,它们总是处于层级顺序(因为我正在使用MPTT),因此给定项目将始终是前一项目的子项或兄弟项目,或者至少与前一项目共享父项.它永远不会来到树的其他地方.
我有一个单页javascript应用程序(使用JavascriptMvc完成)和一个后端,REST服务构建在ASP.NET MVC3之上(使用NServiceMVC完成).
REST服务安装并运行了MiniProfiler,并且每个AJAX请求都会返回X-MiniProfiler-Ids标头.我确实有miniprofiler运行和工作,但我找不到任何关于此的信息,所以我不确定我是否正确地做到了这一点.
这是一个受支持的方案,现在有一种特定的方法吗?
我目前正在做的是:
在HTML应用程序(这是所有静态代码,没有动态的东西),我有:
<script type="text/javascript" src="/api/profiler"></script>
Run Code Online (Sandbox Code Playgroud)
在我的MVC应用程序中,我有:
public ActionResult Profiler()
{
if (!ControllerContext.HttpContext.IsDebuggingEnabled)
{
return new EmptyResult();
}
return new ContentResult() {
Content = StackExchange.Profiling.MiniProfiler.RenderIncludes(
position: RenderPosition.Right,
showControls: true
)
.ToString()
.Replace("<script type=\"text/javascript\">", "")
.Replace("</script>", "")
};
}
Run Code Online (Sandbox Code Playgroud)
很明显,这里有一个黑客删除硬编码<script>
标签.
除此之外,从MVC的其他方面来看,profiler与通常使用完全相同.当您在应用程序中执行导致REST调用的操作时,miniprofiler会在角落中显示它.使用该showControls:true
参数在这里也非常有用所以清除按钮会显示,因为否则您只需获得一个常量的操作列表,因为整个页面基本上不会刷新.
这是"正确"的方式吗,还是有更好的方法?
我正在尝试建立如下关系.每个主项目都有一个或多个详细信息项:
public class Detail {
public virtual Guid DetailId { get; set; }
public virtual string Name { get; set; }
}
public class Master {
public virtual Guid MasterId { get; set; }
public virtual string Name { get; set; }
public virtual IList<Detail> Details { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和映射:
public class MasterMap : ClassMap<Master>
{
public MasterMap()
{
Id(x => x.MasterId);
Map(x => x.Name);
HasMany(x => x.Details).Not.KeyNullable.Cascade.All();
}
}
public class DetailMap : …
Run Code Online (Sandbox Code Playgroud) 我有许多机器,所有机器都安装了Visual Studio,其中某些东西(可能是视觉工作室)覆盖了代理设置:为HTTP和HTTPS设置localhost和一些随机端口.在"不要使用代理服务器"框中,它放置<vsts-proxy-installed-indicator>
可能是标签,因此它知道它已完成.
这有时会阻止浏览器在我的桌面上工作,最近,在我们的构建服务器上更改了它,这导致代码签名步骤(连接到外部时间戳服务器)整天失败,直到我最终发现此代理问题.
什么在改变这些设置?为什么要改变它们?我该如何关闭它?
请注意,还有一个关于此问题的服务器故障问题:什么是插入"vsts-proxy-installed-indicator"?但由于这是一个特定于Visual Studio的问题,我认为在这里提问可能会更好.
我正在为AJAX请求构建一个调试工具,我想显示请求/响应头(就像Firebug一样).我可以使用jqXHR.getAllResponseHeaders获取响应头,但请求头是否等效?
如果没有,我知道我可以自己重建一下:
GET /blah // this part is easy
Host: servername.com // pretty easy
Accept: ???
Referer: ??? // just use current page url?
User-Agent: // easy from navigator.userAgent
X-Requested-With: XMLHttpRequest // hardcoded, $.ajax always does this?
Accept-Charset: ???
Accept-Encoding: ???
Accept-Language: ???
Connection: ???
Run Code Online (Sandbox Code Playgroud)
我最关心的是Accept
.似乎浏览器或其他东西正在改变这一点,因为我正在设置 $.ajax({dataType:'json'})
并且在我看到的萤火虫中Accept application/json, text/javascript, */*; q=0.01
.我希望能够捕获正在发送的实际标头.
因为Referer
,使用window.url是安全的,还是可能是其他东西?
我不知道如何得到Accept-*
或Connection
值.
有许多站点可以解释如何signtool.exe
在.pfx
证书文件上运行,该文件归结为:
signtool.exe sign /f mycert.pfx /p mypassword /t http://timestamp.server.com \
/d "My description" file1.exe file2.exe
Run Code Online (Sandbox Code Playgroud)
我有一个持续集成的CI流程设置(使用TeamCity),它像大多数CI流程一样,完成所有工作:检查源代码,编译,签署所有.exes,将软件包签入安装程序,然后签署安装程序.exe.目前有3个构建代理程序,运行相同的VM,其中任何一个都可以运行此过程.
为了实现这一目标,就安全性而言,我做了一些Bad Things(TM):.pfx文件在源代码管理中,并且它的密码在构建脚本中(也在源代码管理中).这意味着任何能够访问源代码存储库的开发人员都可以获取pfx文件并执行他们喜欢的任何恶意内容.(我们是一个相对较小的开发商店,相信每个人都可以访问,但显然这仍然不好).
我能找到"正确"做到这一点,就是你:
虽然我可以看到这个安全性的优点..这是一个非常繁重的过程,并且在时间方面很昂贵(运行此过程,安全地保留证书备份,确保代码签名机器处于工作状态等) ).
我确信有些人会跳过步骤,只需手动签署存储在他们个人系统上的证书的文件,但这仍然不是很好.
它也与安装程序中使用的签名文件(也由构建服务器构建)不兼容 - 当您安装了具有UAC提示以获得管理员访问权限的.exe时,这一点很重要.
我更关心的是没有向用户提供可怕的"不受信任的应用程序"UAC提示,而不是证明它是我的公司.同时,将私钥和密码存储在每个开发人员(以及QA和高级技术支持)都可以访问的源代码存储库中显然不是一个好的安全实践.
我想要的是CI服务器在构建过程中仍然像今天一样签名,但没有密码(或证书的私钥部分)可供访问源代码存储库的每个人访问.
有没有办法将密码保留在构建之外或以某种方式保护?我应该告诉signtool使用证书存储区(我如何使用3个构建代理程序和构建作为非交互式用户帐户运行)?别的什么?
teamcity continuous-integration code-signing authenticode signtool
是否有任何应用程序可以显示应用于特定应用程序目录的最终配置?我想象的是FireBug的CSS查看器.
基本上,它应该显示等效的单个web.config文件(就好像你只有一个),其中包含适用于相关目录的所有值,每个元素(甚至属性)都使用其源(真正的.config)进行注释.文件来自).
这将极大地帮助将应用程序部署到外部环境(例如,客户站点),在那里他们有时会有奇怪的配置,添加全局包含(例如,他们将include包含在machine.config中,而不是该应用程序的web.config)或有allowOverride = false等
.net ×2
teamcity ×2
asp.net ×1
authenticode ×1
code-signing ×1
hierarchy ×1
http-headers ×1
iis ×1
jquery ×1
mptt ×1
msbuild ×1
nested-sets ×1
nhibernate ×1
one-to-many ×1
pem ×1
putty ×1
rest ×1
signtool ×1
soap ×1
ssh ×1
tfs2010 ×1
wcf ×1
web-config ×1
web-services ×1