小编xr2*_*0xr的帖子

防止DataGrid滚动从捕捉到行

我有一个DataGrid,其中每行包含ItemsControl.因此,网格的行可以非常高.如果一行高于网格的高度,我无法滚动查看行的其余部分,因为DataGrid会自动滚动到下一行.也就是说,如果我正在查看第1行的上半部分并单击垂直滚动条的向下箭头,它会跳到第2行的顶部.它不会让我看到第1行的下半部分.我如何制作DataGrid是否可以平滑地滚动行而不是逐行步进?

wpf wpfdatagrid

5
推荐指数
2
解决办法
2372
查看次数

如果没有显式设置凭据,WCF Windows身份验证如何工作

我有一个asp.net Web应用程序,可以调用多个WCF服务.该网络应用程序位于www.mydomain.com,服务位于services.mydomain.com.它们来自同一台服务器.

我刚刚将安全端点(bassicHttpBindings)添加到使用传输安全性(https)和Windows身份验证的服务中:

<binding name="WindowsSecuredBinding">
  <security mode="Transport">
    <transport clientCredentialType="Windows" />
  </security>
</binding>
Run Code Online (Sandbox Code Playgroud)

并配置客户端Web应用程序以使用这些新的安全端点.我期待下一步是在Web应用程序中编写一些代码来设置客户端凭据以通过Windows身份验证.令我惊讶的是,服务调用正在成功而不设置客户端凭据.我假设它必须发送Web应用程序正在运行的帐户,但不知道如何验证.在其他情况下,我认为我已经看到客户端凭据没有隐式默认值.

所以我有两个问题:

  1. 身份验证如何成功?它是否向用户运行应用程序运行,浏览器用户的凭据,没有凭据?
  2. 如何调试/记录/跟踪身份验证过程?我想至少看到正在验证的用户名,以便我可以验证安全性.

asp.net wcf windows-authentication

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

优雅的方法来根据布尔值否定数值

我有一个十进制变量,如果布尔变量为真,我想否定.任何人都可以想到比这更优雅的方式:

decimal amount = 500m;
bool negate = true;

amount *= (negate ? -1 : 1);
Run Code Online (Sandbox Code Playgroud)

我正在考虑按位运算符或严格的数学实现.

c#

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

JSON反序列化 - 使用JSON.NET将数组索引映射到属性

我想将二维数组反序列化为.net对象的集合.原因是,我的用户可以更容易地在输入文件中使用数组语法.所以我只想将数组的索引映射到我的目标类型的特定属性.

EG用:

[
     ["John", "Smith", "23"],
     ["Paula", "Martin", "54]
]
Run Code Online (Sandbox Code Playgroud)

我会得到一个人的两个实例:

public class Person {
    public string First {get;set;}
    public string Last {get;set;}
    public string Age {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

其中内部数组的索引0映射到First,索引1映射到Last,索引2映射到Age;

有没有办法扩展Json.NET,以便我可以在反序列化期间进行映射,以便隐藏实现细节?我一直在玩一个自定义JsonConverter但我没有找到关于如何使用它的很多信息.

编辑:具体来说,我不确定是否JsonConverter正确使用,我无法弄清楚如何实现CanConvert以及如何使用传递给ReadJson方法的参数.

c# arrays json json.net

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

Json.Net 不会以相同的方式两次序列化小数

我正在测试我正在处理的购物车的 Json.NET 序列化,并注意到当我序列化 -> 反序列化 -> 再次序列化时,我发现某些decimal字段的尾随零格式有所不同。这是序列化代码:

private static void TestRoundTripCartSerialization(Cart cart)
{
    string cartJson = JsonConvert.SerializeObject(cart, Formatting.Indented);

    Console.WriteLine(cartJson);

    Cart cartClone = JsonConvert.DeserializeObject<Cart>(cartJson);

    string cloneJson = JsonConvert.SerializeObject(cartClone, Formatting.Indented);

    Console.WriteLine(cloneJson);

    Console.WriteLine("\r\n Serialized carts are " + (cartJson == cloneJson ? "" : "not") + " identical");
}
Run Code Online (Sandbox Code Playgroud)

Cart器具IEnumerable<T>,并且具有JsonObjectAttribute允许其序列作为对象,包括其属性以及其内部列表。的decimal属性Cart不会改变,但是decimal内部列表/数组中的对象及其内部对象的某些属性会像上面代码输出的摘录一样:

第一次序列化:

      ...
      "Total": 27.0000,
      "PaymentPlan": {
        "TaxRate": 8.00000,
        "ManualDiscountApplied": 0.0,
        "AdditionalCashDiscountApplied": 0.0,
        "PreTaxDeposit": 25.0000,
        "PreTaxBalance": 0.0,
        "DepositTax": 2.00,
        "BalanceTax": …
Run Code Online (Sandbox Code Playgroud)

c# decimal json.net

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

过程从ADO.NET中超时,但在SSMS中没有

我有一个存储过程给我一个SqlException,因为我从代码运行它时超时(超时设置为30).当我直接在Management Studio中运行该过程时,它会在1秒内执行.我也只在针对特定数据库运行时获得超时.当我使用其他数据库时,它可以快速完成而不会出现错误.这是完整的错误消息:

System.Data.SqlClient.SqlException (0x80131904): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior …
Run Code Online (Sandbox Code Playgroud)

ado.net ssms timeout sql-server-2005 sqlexception

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

使用MapHilight Jquery插件以不同颜色突出显示

我想弄清楚如何使用MapHilight但没有太多运气.它上面唯一的"文档"似乎只是一些有用的例子.这可能是因为托管该插件的网站似乎已关闭.我昨天刚刚学习了JQuery,所以我不知道这是否阻碍了我的进步.我想要做的是在逐个区域的基础上指定我的图像地图的外观和感觉.David Lynch的简单演示展示了这一点,但我不确定它是如何工作的.我不明白他为什么使用图像具有包含div的背景以及画布所服务的目的.这是我到目前为止所拥有的:

...
    <script type="text/javascript">
        $(function () {
            $('#ImageMap1').maphilight();
        });
    </script>
</head>
...

<div style="float: left">
    <img id="ImageMap1" src="solar_system.jpg" usemap="#ImageMapmapAreas" />
    <map id="ImageMapmapAreas" name="ImageMapmapAreas">
        <area alt="" title="" href="#Jupiter" coords="222,186,28" shape="circle"/>
        <area alt="" title="" href="#Earth" coords="135,194,13" shape="circle"
            data-maphilight="{'strokeColor':'0000ff','strokeWidth':5,'fillColor':'ff0000','fillOpacity':0.6}"/>
    </map>
</div>
Run Code Online (Sandbox Code Playgroud)

我猜,这给了我一条红色实线的默认突出显示.未使用数据宏观元数据.如何使这个工作的解释将是伟大的,但指导我一个资源解释如何整体使用maphilight会更好,因为我最终想要在这个演示中使用几乎所有东西.

jquery-plugins

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

添加第二个ID列是否有利于索引?

假设我在SQL Server 2005中有一个带有两个外键fk_FacilityID和fk_OrderID的表tbl_FacilityOrders.它可能包含来自几百个设施的订单.我需要查询单个记录,并且我可以使用facilityID和orderID.在fk_FacilityID上定义索引然后fk_OrderID更好并将两者传递给查询或仅使用fk_OrderID.由于设施ID比订单ID少,我可以看到先淘汰其他设施的记录可能是有益的.

第二个问题是,如果我正在使用上面的两个columnn查询,那么我在WHERE子句列中编写的内容列表或者是否足够引擎以按索引的顺序对它们进行评估?

EG是:

WHERE fk_facilityID = @FacilityID AND fk_OrderID = @OrderID
Run Code Online (Sandbox Code Playgroud)

相当于:

WHERE fk_OrderID = @OrderID AND fk_FacilityID = @FacilityID
Run Code Online (Sandbox Code Playgroud)

t-sql indexing sql-server-2005

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