小编Jus*_*tin的帖子

Windows:如何确定自给定日期以来文件是否已被修改

我有一个实用程序,它通过一个目录中的一组文件进程 - 进程相对较慢(并且有很多文件)所以我试图通过只有进程的文件来优化进程修改"晚于上一个处理日期.

通常这很好用但是我发现复制文件不会改变上次修改日期,因此有各种方案涉及复制文件,其中进程跳过某些已更改的文件,例如:

  1. 用户在9:00处理目录.
  2. 然后从该目录复制文件并进行修改,使其最后修改日期为9:30
  3. 然后在10:00再次处理该目录
  4. 然后在10:30将修改后的文件复制回目录
  5. 最后,目录在11:00再次处理

由于给定文件的修改日期是9:30,并且目录最后在10:00处理,因此不应该跳过该文件.

不幸的是,在某些情况下(例如在具有源控制等的协作环境中),上述情况往往发生得太频繁.显然我的逻辑是有缺陷的 - 我真正需要的是"最后修改或复制"的日期.这样的事情存在吗?

如果失败了,是否有另一种方法可以在给定文件发生变化的情况下以合理的可靠性快速确定?

c# last-modified

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

单元测试多线程应用程序

有没有人对多线程应用程序的单元测试有任何建议或知道任何框架?

junit multithreading unit-testing

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

提供在运行时"热交换"/更改程序集的功能,而无需重新启动进程

ASP.Net允许您将新程序集复制到bin应用程序的目录中,而无需重新启动任何服务或进程.

我有一个加载用户定义的插件和扩展的应用程序(其中一些是基于COM的) - 我想提供类似的功能(即无需重新启动过程就能更改/更新程序集).目前,程序集已锁定,直到进程停止.

ASP.Net如何管理这个?

.net asp.net assemblies

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

ASP.Net缓存疑难解答 - CacheDuration属性似乎没有任何效果

我试图通过设置CacheDuration属性的WebMethod属性让ASP.Net缓存Web服务请求的响应:

[WebMethod(CacheDuration = 60)]
[ScriptMethod(UseHttpGet = true)]
public static List<string> GetNames()
{
    return InnerGetNames();
}
Run Code Online (Sandbox Code Playgroud)

以上是ASP.Net页面上的一个方法(我也尝试将它移动到自己的类,但它似乎没有任何区别) - 我设置UseHttpGet为true因为POST请求没有缓存,但是尽管我付出了最大的努力,它似乎仍然没有任何区别(方法开始处的断点总是被击中).

这是我用来调用方法的代码:

%.ajax({
    url: "MyPage.aspx/GetNames",
    contentType: "application/json; charset=utf-8",
    success: function() {
        alert("success");
    }
Run Code Online (Sandbox Code Playgroud)

有什么我错过了可能阻止ASP.Net缓存此方法的东西吗?

如果不这样做,我是否可以使用任何诊断机制来更清楚地了解ASP.Net缓存的情况?

asp.net ajax jquery caching

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

在WCF Web服务的WSDL中提供不同的端点地址

我有一个相当标准的WCF服务(在IIS7上托管),在查询时生成一个相当标准的WSDL ?wsdl:

<wsdl:definitions>
  <!-- ... -->
  <wsdl:service>
    <wsdl:port>
      <soap:address location="https://machine/virtual_dir/servicename.svc"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
Run Code Online (Sandbox Code Playgroud)

(省略无聊的位)

我正在以一种快速的方式将生成的WSDL中给出的地址更改为完全不同的地址,例如:

https://othermachine/other_dir/other_service.svc
Run Code Online (Sandbox Code Playgroud)

这样做最简单的方法是什么?

wcf iis-7 wsdl web-services

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

C#DLL消息框

是否可以让C#DLL打开一个消息框?就像在WinForm中一样:

MessageBox.Show("Message");
Run Code Online (Sandbox Code Playgroud)

我认为DLL不能直接执行,但是如果它被注入到要运行的进程中,那么它可以显示消息框(如果可能的话).

c# dll messagebox

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

"无法找到主类"

我正在尝试从命令promopt运行示例Java应用程序,但是我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/badlogic/gdx/helloworld/HelloWorldDesktop
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.helloworld.HelloWorldDesktop
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.badlogic.gdx.helloworld.HelloWorldDesktop.  Program will exit.
Run Code Online (Sandbox Code Playgroud)

我用来尝试运行这个应用程序的命令是:

java -cp .;gdx.jar;gdx-backend-jogl.jar com.badlogic.gdx.helloworld.HelloWorldDesktop
Run Code Online (Sandbox Code Playgroud)

所有相关文件都在当前工作目录中(.java,.class和.jar文件)

我用来构建.class文件的命令如下(有2个.java文件):

javac -cp gdx.jar;gdx-backend-jogl.jar HelloWorld.java HelloWorldDesktop.java
Run Code Online (Sandbox Code Playgroud)

同样,这是从同一个工作目录运行的 - 内容HelloWorldDesktop.java是(或多或少):

package com.badlogic.gdx.helloworld;

public class HelloWorldDesktop {
    public static void main (String[] argv) {
        // Application
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试学习Java作为C#开发人员,所以我有很强的编程概念背景,整个java工具链目前让我很困惑.异常表明HelloWorldDesktop找不到类,但据我所知,我已经得到了正确的名称,并且我已经将正确的.jar文件添加到类路径中,因此Java应该能够加载这个类.

为什么找不到它HelloWorldDesktop

java classpath classnotfoundexception

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

是否有与C#7.0等效的Microsoft.Net.Compilers?

当C#6到达时,我刚刚引用了Microsoft.Net.Compilers NuGet包,并且TFS版本的C#6功能立即开始工作,而无需在构建机器上安装其他依赖项.

现在C#7在这里是否有一个等效的NuGet包可以做同样的事情?(或者这不是推荐采用C#7的方式吗?)

Microsoft.Net.Compilers包的描述确实说它"导致使用包中包含的特定版本的C#[...]编译器构建项目",但是我找不到相应的C#编译器版本适用于给定的NuGet包.我已经尝试添加最新的稳定版本(1.3.2),但是C#7的功能没有编译(而且这个软件包大概还要6个月左右,所以我真的没想到它会工作)

asp.net c#-7.0

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

如何显示在控制台中运行的时间?

C#我需要显示进程正在运行的时间,显示秒数增加,通常:00:00:01、00:00:02、00:00:03.....等。

我正在使用此代码:

var stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();

//here is doing my process
stopwatch.Stop();
Run Code Online (Sandbox Code Playgroud)

当进程停止时,我显示时间 ELAPSED,如下:

TimeSpan ts = stopwatch.Elapsed;
Run Code Online (Sandbox Code Playgroud)

...和这个:

{0} minute(s)"+ " {1} second(s)", ts.Minutes, ts.Seconds, ts.Milliseconds/10.
Run Code Online (Sandbox Code Playgroud)

这显示经过的总时间,但我需要显示在控制台中运行的时间。

我怎样才能做到这一点?

c# timespan console-application

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

Objective-C运行时性能惩罚的细节

我一直在尝试使用Objective-C(特别是GNU运行时,我没有使用GNUStep或类似的东西)来扩展C对象.到目前为止一切顺利 - 它运行良好,我真的很喜欢语法,但是从我读过的内容来看,使用Objective-C对象会有性能上的损失.

我通常不会过早地进行优化,但我正在开发一款游戏,所以性能最终会变得非常关键 - 我想知道自己要做些什么!有几个人建议我在游戏中使用Objective-C会很好,只要我的内部循环用标准C编写,但问题是找到我应该进行切换的点.

所以我的问题是双重的:

  • 什么会导致性能损失?(所以我知道应该避免的)
  • 这种性能损失大致有多重要?(所以我可以提前猜测我的游戏中哪些部分需要用C编写)

我的猜测是,在Objective-C对象上调用方法会产生一种惩罚,但我不确定还会有什么 - 取消引用Objective-C对象会产生类似的惩罚?

int a = myobj->a;
Run Code Online (Sandbox Code Playgroud)

如果使用a try-catch-finally- 这会在没有异常抛出的情况下导致性能损失吗?

我意识到,在某种程度上,我可以使用基准测试来解决大部分问题,但我对此相对较新,我希望更深入地了解Objective-C的工作原理以及任何性能损失的性质.

我暂时对C++不感兴趣,我只是在试验Objective-C.

c performance objective-c

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