小编ie.*_*ie.的帖子

调试器中"base"的属性值

我正在调试以下代码:

class A 
{
    public virtual string X => "A";
}

class B : A
{
    public bool OwnX { get; set; } = true;
    public override string X
        => OwnX ? "B" : base.X; // (o)
}

class Program
{
    static void Main() => Console.WriteLine(new B().X);
}
Run Code Online (Sandbox Code Playgroud)

我在标有的线上有一个断点(o).当断点命中时,我正在尝试评估base.X并获得其值"B":

strage base.X值?

问题是:为什么不"A"呢?

.net c# visual-studio-debugging

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

参数不正确.在MS.Internal.XcpImports.MethodEx(IntPtr ptr,String name,CValue [] cvData)

在Wp7上,当用户在显示电话键盘时按下页面上的"开始"按钮并点击设备返回按钮时,应用程序崩溃,异常如​​下: -

The parameter is incorrect. 
   at MS.Internal.XcpImports.MethodEx(IntPtr ptr, String name, CValue[] cvData)
   at MS.Internal.XcpImports.MethodPack(IntPtr objectPtr, String methodName, Object[] rawData)
   at MS.Internal.XcpImports.UIElement_TransformToVisual(UIElement element, UIElement visual)
   at System.Windows.Controls.SipHelper.AdjustFrame(FrameworkElement element, Double bottomMargin, Double& stillObscured)
   at System.Windows.Controls.SipHelper.SelectionChanged(Object sender, RoutedEventArgs e)
   at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
   at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
Run Code Online (Sandbox Code Playgroud)

我无法理解生成异常的位置.

谢谢,金谷

exception back windows-phone-7

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

将定义常量传递给 dotnet build 会杀死目标框架符号

我创建了一个针对两个框架(.net core 2.2 和 .net core 3.0)并使用目标框架符号(NETCOREAPP2_2 和 NETCOREAPP3_0)的小型应用程序。

项目文件非常简单,如下所示:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>netcoreapp3.0;netcoreapp2.2</TargetFrameworks>
    <OutputType>Exe</OutputType>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

程序代码可能再简单不过了:

public class MyClass
{
    static void Main()
    {
#if NETCOREAPP3_0
        System.Console.WriteLine("Target framework: NETCOREAPP3_0");
#elif NETCOREAPP2_2  
        System.Console.WriteLine("Target framework: NETCOREAPP2_2");
#else
        System.Console.WriteLine("Target framework: WHO KNOWS?!");
#endif

#if TEST_RUN
        System.Console.WriteLine("Test mode active!");
#endif
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用常规命令而不带附加参数构建它dotnet build --no-incremental,则两个版本都会创建并按预期工作:

PS>> dotnet .\bin\Debug\netcoreapp2.2\TargetFramework.dll
Target framework: NETCOREAPP2_2
PS>> dotnet .\bin\Debug\netcoreapp3.0\TargetFramework.dll
Target framework: NETCOREAPP3_0
Run Code Online (Sandbox Code Playgroud)

在我的场景中,我需要使用附加编译符号构建两个版本TEST_RUN。所以我在构建命令中添加了额外的参数dotnet build --no-incremental -p:DefineConstants=TEST_RUN。结果我有一个应用程序,但不知道目标框架:

PS>> dotnet .\bin\Debug\netcoreapp2.2\TargetFramework.dll
Target framework: …
Run Code Online (Sandbox Code Playgroud)

c# msbuild preprocessor-directive dotnet-cli

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

Advantage Database Server:缓慢的存储过程性能

我有一个关于ADS中存储过程性能的问题.我创建了一个具有以下结构的简单数据库:

CREATE TABLE MainTable
(
   Id    INTEGER PRIMARY KEY,
   Name  VARCHAR(50),
   Value INTEGER
);

CREATE UNIQUE INDEX MainTableName_UIX ON MainTable ( Name );

CREATE TABLE SubTable
(
  Id     INTEGER PRIMARY KEY,
  MainId INTEGER, 
  Name   VARCHAR(50),
  Value  INTEGER
);

CREATE INDEX SubTableMainId_UIX ON SubTable ( MainId );
CREATE UNIQUE INDEX SubTableName_UIX ON SubTable ( Name );

CREATE PROCEDURE CreateItems
( 
  MainName  VARCHAR ( 20 ),
  SubName   VARCHAR ( 20 ),
  MainValue INTEGER,
  SubValue  INTEGER,
  MainId    INTEGER OUTPUT,
  SubId     INTEGER OUTPUT
) …
Run Code Online (Sandbox Code Playgroud)

stored-procedures advantage-database-server

6
推荐指数
2
解决办法
2138
查看次数

基于Key和Initial Vector在SQL Server中创建对称AES128密钥

我有一些Key和Initial Vector,我在.NET应用程序中用于加密.让我们说它们是:

Key = 0x0102030405060708090A0B0C0D0E
IV  = 0xA1A2A3A4A5A6A7A8A9AAABACADAE
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我想在SQL Server上执行加密(不在应用程序中),但在应用程序中解密数据.我以为我可以在数据库中创建临时对称密钥并执行加密:

CREATE SYMMETRIC KEY #TempKey
    WITH ALGORITHM   = AES_128
    , IDENTITY_VALUE = ???
    , KEY_SOURCE     = ???
    ENCRYPTION BY PASSWORD = 'Pa$$w0rd';

OPEN SYMMETRIC KEY #TempKey
    DECRYPTION BY PASSWORD = 'Pa$$w0rd';

SELECT EncryptByKey(Key_Guid('#TempKey'), 'Secret Data');

CLOSE SYMMETRIC KEY #TempKey;
DROP SYMMETRIC KEY #TempKey;
Run Code Online (Sandbox Code Playgroud)

但我不知道我应该提供什么作为IDENTITY_VALUE和KEY_SOURCE在DB和我的应用程序之间有一个"共享"键.



更新2014-07-07

我想提供一些问题的背景知识.

  1. 首先,我正在使用EF Code First方法,当我需要执行一些数据库更新时,我使用Code First Migrations,我想进一步使用这种基于纯迁移的方法.不幸的是,正如在EF Code First迁移中使用自定义逻辑的问题中找到的那样,无法在UpDown方法中获取当前的SqlConnection和SqlTransaction .我唯一的方法 - 使用Sql方法执行自定义SQL查询.

  2. 在下一个数据库更新中,我想要在一列中加密数据.加密应该满足两个条件:(1)数据应该在客户端应用程序中解密(不在SQL Server端),(2)对称密钥应该以加密形式存储在客户端应用程序中,描述应该是使用密钥容器中的非对称密钥完成.不幸的是,这使得CRL UDF在这里无用 - 当我尝试在UDF中获取基于密钥容器的密钥时,我得到一个权限异常: …

sql-server encryption aes sql-server-2008 ef-migrations

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

用于更新操作的 CreatedAtAction 模拟

有时我允许使用原始数据创建/更新物联网设备的状态。这意味着客户端可以将设备设备状态作为字节数组读取并通过 API 发送该数据。服务器解析的数据并作为常规 DTO 发回。

对于创建,我可能会引入以下CreateStatusFromRawData方法:

    [HttpGet("{id}/status")]
    [ProducesResponseType(200, Type = typeof(DeviceStatus))]
    [ProducesResponseType(404)]
    public async Task<IActionResult> GetStatus(Guid id)
    {
        // gets the device status
    }

    [HttpPost("{id}/status/rawdata")]
    [ProducesResponseType(201, Type = typeof(DeviceStatus))]
    [ProducesResponseType(404)]
    public async Task<IActionResult> CreateStatusFromRawData(Guid id, [FromBody]byte[] rawdata)
    {
        // some parsing logic
        return CreatedAtAction(nameof(GetStatus), new {id})
    }
Run Code Online (Sandbox Code Playgroud)

我想为更新操作做同样的事情:

    [HttpPut("{id}/status/rawdata")]
    [ProducesResponseType(200, Type = typeof(DeviceStatus))]
    [ProducesResponseType(404)]
    public async Task<IActionResult> UpdateStatusFromRawData(Guid id, [FromBody]byte[] rawdata)
    {
        // some parsing logic
        return **UpdatedAtAction**(nameof(GetStatus), new {id})
    }
Run Code Online (Sandbox Code Playgroud)

UpdatedAtAction 方法的实现会是什么样子?所以我实际上想要三件事:

  1. 返回状态 200
  2. 取回更新的状态 DTO
  3. 提供正确的位置标头,以便稍后通过 …

.net c# rest .net-core asp.net-core-webapi

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

我是否需要在Windows Phone应用程序中调用IsolatedStorageSettings.Save方法?

IsolatedStorageSettings.Save方法页面的备注部分:

当关闭使用该类的应用程序时,将保存写入IsolatedStorageSettings对象的数据.当用户关闭Web浏览器,刷新页面或浏览页面时,可能会发生这种情况.如果您希望应用程序立即写入隔离存储,则可以在应用程序代码中调用Save方法.

所以,我永远不能打电话给这个Save方法,每个设置都是安全的.我只是好奇我应该使用哪种用法Save

.net c# application-settings windows-phone-7

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

在 Rust 中使用 prost 和 tonic 时如何导入 .proto?

我正在尝试使用 crates prost 和 tonic 在 Rust 中构建一个简单的 gRPC 客户端。我的 proto 定义非常简单,但我突然坚持使用从其他 proto 导入的消息。

// file src/protos/types.proto
syntax = "proto3";
package Types;

message Message1 {
    uint32 value1 = 1;
    bytes value2 = 2;
}

message Message2 {
    uint32 value1 = 1;
    uint32 value2 = 2;
    uint32 value3 = 3;
    uint32 value4 = 4;
}
Run Code Online (Sandbox Code Playgroud)
// file src/protos/service.proto
syntax = "proto3";
import "types.proto";
package Service;

service Worker {
    rpc Do (Request) returns (Reply);
}

message Request {
    Types.Message1 message1 = 1; …
Run Code Online (Sandbox Code Playgroud)

rust proto tonic grpc prost

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

Advantage 数据库服务器 ORDER BY 行为

我正在使用 ADS v10 测试版。我正在尝试计算有序结果集。

1) ORDER BY 在嵌套查询中。我需要使用嵌套的 SELECT 进行一些计算:

SELECT Name, Value, ROWNUM() FROM (SELECT * FROM MainTable WHERE Value > 0 ORDER BY Value) a
Run Code Online (Sandbox Code Playgroud)

我得到

未找到预期的词法元素:)
解析表格时出现问题
在您的 FROM 关键字之后的名称
SELECT 语句。

删除 ORDER BY 后,一切正常。虽然,我在帮助中找到了示例,但它看起来像我的查询(确实更复杂):

SELECT * FROM (SELECT TOP 10 empid, fullname FROM branch1 ORDER BY empid) a UNION SELECT empid, fullname FROM branch2 ORDER BY empid
Run Code Online (Sandbox Code Playgroud)

2) ORDER BY+ ROWNUM()。我在上面的例子中使用了嵌套查询来计算有序的行。有没有机会避免嵌套查询?在 SQL Server 中,我可以执行以下操作:

SELECT Name, Value, ROW_NUMBER() OVER(ORDER BY Value) FROM MainTable …
Run Code Online (Sandbox Code Playgroud)

select advantage-database-server sql-order-by

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

将光标移动到C#中的文本框

我想点击按钮时将光标移到文本框中.我怎样才能做到这一点?我尝试了Focus()方法,但它没有用.代码如下所示.

CsNIPAddrTextBox.Focus();
CsNIPAddrTextBox.TabIndex = 1;
Run Code Online (Sandbox Code Playgroud)

c# cursor winforms

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

在Windows应用商店应用中使用嵌入字体

我想在Windows RT应用程序中使用Anonymous Pro字体.我试图按照这个帖子的步骤,但没有任何成功.

这是我的尝试:

<TextBlock Text="{Binding Title}" HorizontalAlignment="Center" FontSize="56"
           FontFamily="/Assets/Fonts/Anonymous Pro.ttf"
           />
Run Code Online (Sandbox Code Playgroud)

而不是匿名专业版使用默认字体.实际上,它是指定字体系列的示例(参见链接),但我不确定:我应该这样做还是不应该这样做.如果我应该,哪个家庭应该在那里?

那么如何在Windows RT应用程序中嵌入自定义字体并从那里使用呢?

embedded-fonts windows-8 windows-runtime

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

在TypeScript中定义原型属性

我有一节课,比方说A.我需要声明一个可以访问的prototype属性,如下所示:

var idKey = A.prototype.attributeId;
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码执行此操作:

class A {
  constructor() {
      A.prototype.attributeId = "InternalId";
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

typescript

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