小编Cᴏʀ*_*ᴏʀʏ的帖子

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

以编程方式定期更改桌面墙纸

创建可定期更改桌面墙纸的程序的最佳方法是什么?我还想在程序周围创建一个GUI.我是一名计算机科学专业的学生,​​因此我了解Java和C++等基础编程.这将在Windows 7操作系统上完成.

对于像这样的项目,最好的语言是什么?

理想情况下,我想使用系统时钟来触发更改.这可能吗?

我在我头上吗?

任何答案将非常感谢.谢谢.

c++ java windows

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

我可以获得有关JavaScript代表的一些建议吗?

我对JavaScript中的代理和闭包感到厌烦,并且认为我遇到过我想尝试使用其中一个或两个的情况.

我有一个Web应用程序,其行为很像表单应用程序,字段命中服务器以更改每个onBlur或onChange上的数据(取决于表单元素).我使用ASP.NET 3.5的Web服务和jQuery来完成大部分工作.

您需要了解的示例:

  • isBlocking() 是一种形成一些同步函数的简单机制(如互斥体)
  • isDirty(el) 检查以确保在浪费对服务器的调用之前实际更改了元素的值
  • Agent() 返回WebService代理类的单例实例
  • getApplicationState()将base-64编码的字符串传递给Web服务.此字符串表示应用程序的状态 - 元素的值和状态将传递给执行某些计算的服务.Web服务调用的onSuccess函数返回新状态,客户端处理并更新整个屏幕.
  • waitForCallback()设置一个isBlocking()检查互斥锁的标志

以下是大约50个非常相似的函数之一的示例:

function Field1_Changed(el) {
    if (isBlocking()) return false;
    if (isDirty(el)) {
        Agent().Field1_Changed($j(el).val(), getApplicationState());
        waitForCallback();
    }
}
Run Code Online (Sandbox Code Playgroud)

最大的问题是Agent().Field_X_Changed方法可以接受不同数量的参数,但通常只是值和状态.因此,编写这些函数会变得重复.到目前为止,我已经完成了尝试使用委托:

function Field_Changed(el, updateFunction, checkForDirty) {
    if (isBlocking()) return false;
    var isDirty = true; // assume true
    if (checkForDirty === true) {
        isDirty = IsDirty(el);
    }
    if (isDirty) {
        updateFunction(el);
        waitForCallback();
    }
}

function Field1_Changed(el) {
    Field_Changed(el, function(el) { 
        Agent().Field1_Changed($j(el).val(), getTransactionState()); 
    }, true);
} …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net jquery delegates closures

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

SQL优化 - 基于约束值的执行计划更改 - 为什么?

我有一个表ItemValue,其中包含运行在2000兼容模式下的SQL 2005 Server上的数据,这些模式类似于(它是用户定义的值表):

ID    ItemCode     FieldID   Value
--    ----------   -------   ------
 1    abc123             1   D
 2    abc123             2   287.23
 4    xyz789             1   A
 5    xyz789             2   3782.23
 6    xyz789             3   23
 7    mno456             1   W
 9    mno456             3   45
                                 ... and so on.
Run Code Online (Sandbox Code Playgroud)

FieldID来自ItemField表:

ID   FieldNumber   DataFormatID   Description   ...
--   -----------   ------------   -----------
 1             1              1   Weight class
 2             2              4   Cost
 3             3              3   Another made up description
 .             .              x   xxx
 .             . …
Run Code Online (Sandbox Code Playgroud)

sql sql-server query-optimization sql-execution-plan

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

检查.NET中两个双精度相等的问题 - 这个方法有什么问题?

所以我只是想深入研究这个问题......我有一个使用频繁的网络应用程序,这是两年来第一次使用相同功能对两个双打进行相等检查失败了一位同事说他' d也一直使用多年.

我要在这里粘贴的函数的目标是将两个double值与4位精度值进行比较并返回比较结果.为了便于说明,我的价值观是:

Dim double1 As Double = 0.14625000000000002 ' The result of a calculation
Dim double2 As Double = 0.14625 ' A value that was looked up in a DB
Run Code Online (Sandbox Code Playgroud)

如果我将它们传递给这个函数:

Public Shared Function AreEqual(ByVal double1 As Double, ByVal double2 As Double) As Boolean

    Return (CType(double1 * 10000, Long) = CType(double2 * 10000, Long))

End Function
Run Code Online (Sandbox Code Playgroud)

比较失败了.在乘法并转换为Long之后,比较结果为:

Return 1463 = 1462
Run Code Online (Sandbox Code Playgroud)

我在这里回答了我自己的问题,但我可以看到它double1在双精度(17位数)的精度范围内,并且演员表正常工作.

我的第一个真正的问题是:如果我将上面的行更改为以下内容,为什么它可以正常工作(返回True)?

Return (CType(CType(double1, Decimal) * 10000, Long) = _
    CType(CType(double2, Decimal) * 10000, …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net floating-point precision decimal

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

在两个ASP.NET应用程序之间共享会话,其中一个嵌套在另一个ASP.NET应用程序中

那么,在你问"你的意思是什么之后,一个嵌套在另一个之内?" 我会尽可能简单地解释一下.

存在.NET Web应用程序(A).构建了一个补充应用程序(B),它可以处理几个相同的核心组件.之前的一家咨询公司以某种方式应用程序A中"安装"了应用程序B ,以便B可以背负A的会话.所以,像这样:

- Application A (C:\Inetpub\wwwroot\ApplicationA)
    + Application B (C:\Inetpub\wwwroot\ApplicationA\sup\ApplicationB
Run Code Online (Sandbox Code Playgroud)

之前的公司没有留下关于他们如何或为什么这样做的文档,但它对他们有用.我现在面临的困境是:应用程序A升级,使B无用.我更新了B来运行A提供的新核心,但是当我完成时,另一个团队已经摧毁了之前的生产和测试服务器,我无法获得备份以查看它是如何配置的.

经过一系列的改进后,我能够通过切断B的web.config文件并删除重复的部分 - 在A的web.config中已存在的部分,在单个IIS应用程序和池中复制上面的层次结构.我还将B的bin文件夹中的所有文件转储到A的bin文件夹中.

两个站点都编译并由IIS提供服务,但我无法使用此结构从A的会话中读取任何内容.我对这个结果并不感到惊讶,但我需要找到一个解决方法.简而言之,A有一个存储在其会话中的sessionID,我需要用它来获取B中的数据源,因为A的创建者施加了一些疯狂的许可规则(sessionID需要传递给其核心API中的每个函数)用户授权).

关于为什么功能不再有效的任何想法(假设我已经正确地复制了旧环境),或者我如何解决它?移动到SQL服务器以获取会话状态不是一个选项 - 我无法更改有关应用程序A的任何内容.

我看了一下A的代码(就像我敢用Reflector一样),我试图从会话中检索的变量仍在那里并被使用.

任何想法都会很棒!

.net asp.net session iis-6 legacy-code

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

鉴于两个证书,我如何验证一个是否与另一个私钥签名?

我有两个X509Certificate2.给他们打电话toCheckcheckWith.

如何检查是否toCheck由私钥签名checkWith

基本上,我希望C#等同于Java

toCheck.verify(checkWith.getPublicKey());
Run Code Online (Sandbox Code Playgroud)

谢谢

c# certificate x509certificate2 x509certificate

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

ReadOnlyAttribute vs PropertyDescriptor.IsReadOnly()

使用a PropertyDescriptor返回IsReadOnly()方法的值和与ReadOnlyAttribute?相关的值有什么区别?

c# attributes readonly propertydescriptor

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

随机聚合?

我正在使用Microsoft的SQL Server 2008.我需要通过外键聚合来随机获取单个值,但我很难过.请考虑下表:

id          fk          val
----------- ----------- ----
1           100         abc
2           101         def
3           102         ghi
4           102         jkl
Run Code Online (Sandbox Code Playgroud)

期望的结果是:

fk          val
----------- ----
100         abc
101         def
102         ghi
Run Code Online (Sandbox Code Playgroud)

其中fk 102的val随机地是"ghi"或"jkl".

我尝试使用NEWID()来获取唯一的随机值,但是,由于NEWID()值因子查询而异,因此JOIN失败.

WITH withTable AS (
    SELECT id, fk, val, CAST(NEWID() AS CHAR(36)) random
    FROM exampleTable
)
SELECT t1.fk, t1.val
FROM withTable t1
JOIN (
    SELECT fk, MAX(random) random
    FROM withTable
    GROUP BY fk
) t2 ON t2.random = t1.random
;
Run Code Online (Sandbox Code Playgroud)

我很难过.任何想法将不胜感激.

sql t-sql sql-server-2008

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

如何使用C#更快地从Oracle向Elasticsearch表中插入400万条记录?

我有以下用C#编写的代码,但据此,将数据从Oracle数据库迁移到Elasticsearch需要4-5天.我是以100个批次插入记录.还有其他方式可以更快地移动400万条记录(如果可能的话,可能在不到一天的时间内)吗?

   public static void Selection()
        {
            for(int i = 1; i < 4000000; i += 1000)
            {
                for(int j = i; j < (i+1000); j += 100)
                {
                    OracleCommand cmd = new OracleCommand(BuildQuery(j), 
                                                     oracle_connection);
                    OracleDataReader reader = cmd.ExecuteReader();
                    List<Record> list=CreateRecordList(reader);
                    insert(list);
                }
            }
        }

   private static List<Record> CreateRecordList(OracleDataReader reader)
        {
            List<Record> l = new List<Record>();
            string[] str = new string[7];
            try
            {
                while (reader.Read())
                {
                    for (int i = 0; i < 7; i++)
                    {
                        str[i] = reader[i].ToString();
                    }

                    Record …
Run Code Online (Sandbox Code Playgroud)

.net c# oracle elasticsearch nest

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