我有一个构建配置,将我的代码部署到一台机器上.根据我部署的机器(例如dev/uat/prod),我需要以不同的用户身份运行.
而不是在构建文件中对用户名和密码进行硬编码(出于安全原因而不是经常更改)我希望能够在运行构建时输入它们.我想设想TeamCity中的"运行自定义构建"会有这个选项,但我看不到任何地方输入这些信息.
有没有办法做到这一点(没有远程进入构建代理并更改构建代理运行的用户)?
谢谢
我遇到了一个问题,可以通过以下方式进行复制(您需要IIS8,因此必须在Windows 8+或Windows Server 2012 R2 +上):
在IIS管理器中创建一个新网站,在端口8881上说TestWs,指向一个新文件夹,比如C:\ temp\testws,并在那里添加以下Web.config文件
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation targetFramework="4.5"/>
<httpRuntime targetFramework="4.5"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
现在将以下WsHandler.ashx文件添加到同一文件夹中
<%@ WebHandler Language="C#" Class="WsHandler" %>
using System;
using System.Threading;
using System.Web;
public class WsHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.AcceptWebSocketRequest(async webSocketContext =>
{
while (true)
{
await webSocketContext.WebSocket.ReceiveAsync(new ArraySegment<byte>(new byte[1024]), CancellationToken.None);
}
});
}
public bool IsReusable { get { return true; } }
}
Run Code Online (Sandbox Code Playgroud)
然后在浏览器的开发人员工具栏中创建一个websocket,就像这样
var ws = new WebSocket("ws://localhost:8881/wshandler.ashx");
ws.onclose = function() { console.log('closed'); };
Run Code Online (Sandbox Code Playgroud)
在任务管理器中,您将看到此应用程序有一个w3wp.exe进程,如果您终止它,客户端将获得onclose事件,并将打印关闭的文本. …
我有一个网站被轮询相当难以从多个客户端(浏览器,其他应用程序,unix shell脚本,python脚本等)的相同资源的JSON表示.
我想添加一些缓存,以便将一些资源缓存在服务器中一段可配置的时间,以避免CPU处理请求并将资源序列化为JSON.我当然可以在处理程序中自己缓存它们,但是然后会对每个请求进行序列化命中,并且还必须修改处理程序的负载.
我看过openrasta-caching模块,但认为这只是用于控制浏览器缓存?
因此,在编解码器生成后,有关如何让openrasta缓存资源的呈现表示的任何建议?
谢谢