有没有办法在Visual Studio 2008中显示单个TestMethod的进度?
在一组单元测试中,我有一个运行非常长时间的TestMethod - 通常需要30到60分钟.我使用[超时]属性设置了超时,没问题.但我希望能够直观地了解测试的进展情况.
我知道"测试结果"窗口提供了所有测试方法的可视化进度更新.我想要的是单个方法的视觉进度更新.在WinForms应用程序中,我会弹出一个ProgressBar控件.在控制台应用程序中,我将定位光标并显示状态消息.但这是一个单元测试.我可以写入TestContext,但在测试完成之前,该窗口是不可见的.
编辑:我知道有办法做到这一点; 它只是软件,所以总有办法.但是什么是简单实用的方法呢?
一种方法是创建一个TestMethodProgressMonitor.exe应用程序,该应用程序从命名管道读取,并根据通过管道传递的消息更新进度条.TestMethod可以shellExec TestMethodProgressMonitor.exe,然后写入命名管道.完成后,可能有一个众所周知的关闭命令,TestMethod发送到TestMethodProgressMonitor.exe应用程序.
另一个选项是将TestMethodProgressMonitor.exe构造为COM服务器,TestMethod可以使用COM(DCOM)更新应用程序中的托管进度条.
另一种选择是使用user32.dll SendMessage()方法将WM_COPYDATA消息发送到监视器应用程序.这有时用于远程控制应用程序.
这些是一些可能性.在我开始构建其中一个之前,我想知道是否有更简单的方法.
我很难找到可以为我的dnn页面添加代码隐藏的地方.
例如:
MyPage.ascx已经有了
<%@ Control language="vb" CodeBehind="~/admin/Skins/skin.vb" AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.UI.Skins.Skin" %>
Run Code Online (Sandbox Code Playgroud)
为了塑造皮肤需要它.
但是,我希望能够添加在Page_Load上执行的VB函数,因此我创建了自己的代码隐藏文件.但我无法取出当前的控件(一个引用skin.vb)来放入我自己的控件,而且你不能拥有多个控件.
我也试过在代码中嵌入代码,但是我需要做一些Imports,它给我一个错误,说它们必须在文件的开头等声明等等...
任何人都知道如何正确添加DNN页面的代码隐藏?
UNPIVOT不会返回NULL,但我在比较查询中需要它们.我试图避免使用ISNULL以下示例(因为在真正的sql中有超过100个字段:
Select ID, theValue, column_name
From
(select ID,
ISNULL(CAST([TheColumnToCompare] AS VarChar(1000)), '') as TheColumnToCompare
from MyView
where The_Date = '04/30/2009'
) MA
UNPIVOT
(theValue FOR column_name IN
([TheColumnToCompare])
) AS unpvt
Run Code Online (Sandbox Code Playgroud)
任何替代品?
你认为.NET有多重继承吗?为什么?
是的,我知道根据定义不是,但我有不止一个人争辩说,因为你可以继承多个接口而不是它.我知道这是一个非常主观的问题(因此标签),但我希望能得到更多关于此的观点.
编辑我不是在问你是否认为它应该有多重继承,而且我也不是说你继承了接口.在我的问题中,我试图弄清楚的是,我听到过其他几个人在争论,我只是希望得到更多的意见.我完全相信99%的答案都是"不",但就像我说我想要更多的输入.
我希望有一个计时器在页面上每3分钟运行一次(javascript),以检测php会话($ _SESSION)是否超时...如果是,则自动重定向它们.
一个很好的例子是,一个用户登录并运行楼梯,并且永远不会回来......我希望javascript通过一个简单的重定向来记录它们...
这可能吗?我怎么做这样的事情?我正在使用PHP和JavaScript.
编辑:Rob在下面说的正是我正在寻找的......我安全地引用了''...
我怀疑迈克要求的是,当会话超时时,应该告诉浏览器离开当前页面.例如,一些银行在一段时间不活动后这样做. - Rob Kennedy 5小时前
我试图说服一位同事,一个函数应该将接口作为参数,而不是对象本身.我认为小对象可以很好地传递,但对于大对象,我会给它们一个接口,只是通过i/f,而不是整个事情.
请注意,只会出现其中一个大类 - i/f永远不会用于其他对象.这仅仅是为了隐藏对象的实现.
你是否同意将大型课程分成界面是一种好习惯?
这样做有什么不利之处吗?
例:
public interface class IVeryLargeClass
{
void DoSomething();
...
};
public ref class VeryLargeClass : public IVeryLargeClass
{
public:
virtual void DoSomething() { ... }
...
};
public ref class AnotherClass
{
public:
AnotherClass(VeryLargeClass^ vlc) { vlc->DoSomething(); }
// OR
AnotherClass(IVeryLargeClass^ vlc) { vlc->DoSomething(); }
};
Run Code Online (Sandbox Code Playgroud) language-agnostic oop parameters information-hiding interface
有没有办法轻松/优雅地更新表中的多个列,其中包含Oracle 10g中查询的记录值?
我有一个表(称之为Source),它有简单的缘故,2列, ID和KEY.
ID Key ---- ---- 1 1000 2 1000 3 5000 4 1000 .. 101 8000 102 9000 103 7000 104 9000 ... 201 5 202 5 ...
我有另一个表(称之为KeyMap),它接受trunc(ID/100)并使用它作为一个batchID
列,它是批处理中ID的键映射:
trunc(ID/100) key1 key2 key3 key4 ..... key99 ------------- ---- ---- ---- ---- 0 1000 1000 5000 1000 1 8000 9000 7000 9000 2 5 5
ID是分批创建和处理的,因此在批处理结束时,我想调用一个存储过程来使用提供这些键的子选择或集合更新KeyMap表中的记录,并Key使用1更新语句更新新值值.
这是可能的,这是最好/最有效的方法吗?
我有一个字典来将某种类型映射到该类型的某个通用对象.例如:
typeof(LoginMessage) maps to MessageProcessor<LoginMessage>
Run Code Online (Sandbox Code Playgroud)
现在问题是在运行时从Dictionary中检索这个通用对象.或者更具体:将检索到的对象强制转换为特定的泛型类型.
我需要它来做这样的事情:
Type key = message.GetType();
MessageProcessor<key> processor = messageProcessors[key] as MessageProcessor<key>;
Run Code Online (Sandbox Code Playgroud)
希望有一个简单的解决方案.
编辑:我不想使用Ifs和开关.由于性能问题,我也不能使用某种反射.
我有一个Hashmap,出于速度原因,我不想要锁定.如果我不介意陈旧的数据,那么更新它并同时访问它会导致任何问题吗?
我的访问是获取,而不是遍历它,删除是更新的一部分.
.net ×1
asp.net ×1
c# ×1
casting ×1
code-behind ×1
concurrency ×1
dotnetnuke ×1
generics ×1
iis ×1
interface ×1
java ×1
javascript ×1
null ×1
oop ×1
oracle ×1
oracle10g ×1
parameters ×1
php ×1
plsql ×1
session ×1
sql ×1
sql-server ×1
t-sql ×1
unit-testing ×1
unpivot ×1
vb.net ×1