我不知道socket究竟是什么意思.服务器在特定计算机上运行,并且具有绑定到特定端口号的套接字.服务器只是等待,监听套接字以便客户端发出连接请求.当服务器接受连接时,它会获得绑定到同一本地端口的新套接字,并将其远程端点设置为客户端的地址和端口.它需要一个新的套接字,以便它可以继续监听原始套接字以获得连接请求,同时满足连接客户端的需求.
那么,socket是在内存中创建的一些类?对于每个客户端连接,都会在内存中创建此类的新实例?内部套接字写入本地端口和端口以及连接的客户端的IP号.有人能详细解释一下socket的定义吗?
谢谢
我使用 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 属性的其他对象也会产生不必要的开销。
我有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%。如果我不这样做,则文本始终在模板中居中。有趣。
我有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
函数不起作用.谁知道为什么?
我有对象数组,我想在此数组内找到某些特定对象的索引:
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方法进行操作。