小编Fla*_*232的帖子

Windows上的Gitlab Build Runner使用HTTP而不是SSH

我是Gitlab CI的新手,但现在已经阅读了一段时间了.
我必须在每次提交后在我的Gitlab上测试编译C#-Projects,并发现我需要使用Windows Shell-Runner设置CI来正确构建我的项目.

不幸的是,我的Gitlab设置只允许开发人员和机器通过SSH连接,而不是HTTP.但我的Windows运行器总是尝试通过http连接并使构建失败.

如何正确配置?
我已经尝试编辑config.toml与跑步者相关联,但没有选项指定是否使用ssh或http.

git continuous-integration runner gitlab

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

如何使用WebSockets跟踪已建立的连接

我正在努力为跨平台设备提供实时聊天服务.问题是 System.Net.WebSockets名称空间不允许我直接跟踪已建立的连接.我可以获取当前连接的sessionID但是如何await socket.SendAsync(buffer, WebSocketMessageType.Text, CancellationToken.None)为特定客户端执行以下操作?

如果我可以使用Microsoft.WebSockets,我将有可能创建一个WebSocketCollection()类似的东西client.Send(message),但我无法ArraySegment<byte[]>通过它发送.我也认为这更适用于AJAX客户端和网站以及这些东西.

我现在有以下代码片段:

public class WSHandler : IHttpHandler
{
    event NewConnectionEventHandler NewConnection;
    public void ProcessRequest(HttpContext context)
    {
        if (context.IsWebSocketRequest)
        {
            context.AcceptWebSocketRequest(ProcessWSChat);
        }
    }

    public bool IsReusable { get { return false; } }
    private async Task ProcessWSChat(AspNetWebSocketContext context)
    {
        WebSocket socket = context.WebSocket;
        int myHash = socket.GetHashCode();
        while (true)
        {
        ArraySegment<byte> buffer = new ArraySegment<byte>(new byte[1024]);
        WebSocketReceiveResult result = await socket.ReceiveAsync(
            buffer, CancellationToken.None);
            if (socket.State …
Run Code Online (Sandbox Code Playgroud)

c# asp.net connection session websocket

5
推荐指数
1
解决办法
3821
查看次数