小编Sim*_*mon的帖子

什么是Socket

我不知道socket究竟是什么意思.服务器在特定计算机上运行,​​并且具有绑定到特定端口号的套接字.服务器只是等待,监听套接字以便客户端发出连接请求.当服务器接受连接时,它会获得绑定到同一本地端口的新套接字,并将其远程端点设置为客户端的地址和端口.它需要一个新的套接字,以便它可以继续监听原始套接字以获得连接请求,同时满足连接客户端的需求.

那么,socket是在内存中创建的一些类?对于每个客户端连接,都会在内存中创建此类的新实例?内部套接字写入本地端口和端口以及连接的客户端的IP号.有人能详细解释一下socket的定义吗?

谢谢

sockets

4
推荐指数
2
解决办法
2919
查看次数

使用 dapper 进行分页的 TotalCount

我使用 dapper 将存储过程中的结果集获取到对象列表中,并将其作为 json 返回给客户端:

public IHttpActionResult Test()
    {
        List<ProductPreview> gridLines;
        var cs = ConfigurationManager.ConnectionStrings["eordConnection"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(cs))
        {
            gridLines = conn.Query<ProductPreview>("dbo.myStoredProcedure", new { userID = 1 },
             commandType: CommandType.StoredProcedure).ToList();
        }
        var totalCount = gridLines[0].MaxCount;//I need to know total count
        ....
        return Ok(gridLines);
    }
Run Code Online (Sandbox Code Playgroud)

有用。ProductPreview 类型的对象的最后一个属性是 TotalCount,因为存储过程将总计数作为每行的列返回。(第二个选项是存储过程返回两个记录集,但我不确定如何更改 dapper 以使用两个记录集)。不能选择进行两个单独的查询。

在没有 TotalCount 属性的情况下将 gridLines json 对象返回给客户端(因为它是开销)并将总计数从存储过程读取到某个变量的最佳方法是什么?将 gridLines 对象复制到没有 TotalCount 属性的其他对象也会产生不必要的开销。

c# dapper webapi2

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

在SVG中对齐文本

我有Adobe Illustrator。当我将图形导出到svg时,文本部分如下所示:

  <style type="text/css">
 .st6{fill:#FFFFFF;}
  </style>
 <text id="text2" transform="matrix(1 0 0 1 153.873 305.2743)" class="st6">Default text</text>
Run Code Online (Sandbox Code Playgroud)

此文本居中对齐。现在,我使用javascript更改了浏览器中的文本-因此,将“默认文本”替换为“新文本”。该文本不再对齐以居中。如果更改文本,如何实现文本始终居中对齐?我尝试将“ text-align:center”添加到st6类或将此属性添加到text元素:

  text-anchor="middle"
Run Code Online (Sandbox Code Playgroud)

但不起作用。任何的想法?

我不理解的另一个有趣的例子。这是我拥有的svg模板的一部分:

 <g id="text_4">
<g>
    <defs>
        <rect id="SVGID_10_" x="9.96" y="273.53" width="170" height="15"/>
    </defs>
    <clipPath id="SVGID_11_">
        <use xlink:href="#SVGID_10_"  style="overflow:visible;"/>
    </clipPath>
    <g style="clip-path:url(#SVGID_11_);">
        <text data-label="Text 4" text-anchor="middle" x="95" y="282.7" style="fill:#748B9E; font-family:'Merriweather'; font-size:8px;">2013 Riesling </text>
    </g>
</g>
Run Code Online (Sandbox Code Playgroud)

例如,我可以更改文本,而不是“ 2013 Riesling”。我可以添加“ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,但文本仍位于中间。

然后,我从这个svg中删除了所有元素,除了text(所以删除了所有g元素和剪切路径)仅此左:

<text data-label="Text 4" text-anchor="middle" x="95" y="282.7" style="fill:#748B9E; font-family:'Merriweather'; font-size:8px;">2013 Riesling</text>
Run Code Online (Sandbox Code Playgroud)

但是模板仍然是相同的,如果我在浏览器中查看模板,则没有任何改变。那怎么可能?因此,我可以将SVG的尺寸缩短70%。如果我不这样做,则文本始终在模板中居中。有趣。

css svg adobe-illustrator

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

添加day to dateTime

我有dateTime变量,如果日期不是月的最后一天,而是在最后一天之前,我想添加一天.

endDate = newDate(2016, 8, 30);//create date for test
if (DateTime.DaysInMonth(endDate.Year, endDate.Month) == (int)31 && endDate.Day == (int)30)
    endDate.AddDays(1);
Run Code Online (Sandbox Code Playgroud)

从调试器我可以看到执行继续,endDate.AddDays(1);endDate仍然是相同的(30.08.2016),就好像AddDays函数不起作用.谁知道为什么?

c# datetime

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

FirstOrDefault函数的默认值

我有对象数组,我想在此数组内找到某些特定对象的索引:

int ix = Array.IndexOf(products, products.Where(item => item != null && item.Id == "xxx").FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)

Id =“ xxx”的项目不存在,但ix结果为1。因此,我猜为int的默认值为1。如何知道1是属于第一项还是默认值?如果我可以将默认值设置为-1,那就太好了。

最后,我使用findIndex方法完成了此操作,但想知道如何使用indexOf方法进行操作。

c#

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

标签 统计

c# ×3

adobe-illustrator ×1

css ×1

dapper ×1

datetime ×1

sockets ×1

svg ×1

webapi2 ×1