什么区别LPCSTR,LPCTSTR和LPTSTR?
为什么我们需要这样做才能将字符串转换为LV/ _ITEMstructure变量pszText:
LV_DISPINFO dispinfo;
dispinfo.item.pszText = LPTSTR((LPCTSTR)string);
Run Code Online (Sandbox Code Playgroud) 我可以在32位计算机上运行64位VMware映像吗?
我用Google搜索了这个,但似乎没有一个确定的答案.
我知道它必须完全模拟并且会像狗一样运行 - 但速度慢并不一定是问题,因为我只是想在64位平台上测试我的一些后台服务代码.
我们发现我们为C#/ C++代码编写的单元测试确实得到了回报.但是,我们仍然在存储过程中拥有数千行业务逻辑,当我们的产品推广到大量用户时,它们才真正得到了真正的测试.
更糟糕的是,这些存储过程中的一些最终会很长,因为在SP之间传递临时表时性能会受到影响.这阻止了我们重构以使代码更简单.
我们已经尝试围绕一些关键存储过程构建单元测试(主要是测试性能),但是发现为这些测试设置测试数据真的很难.例如,我们最终复制测试数据库.除此之外,测试最终对变化非常敏感,甚至是对存储过程的最小变化.或表需要对测试进行大量更改.因此,在由于这些数据库测试间歇性地失败而导致许多构建中断之后,我们只需将它们从构建过程中拉出来.
所以,我的问题的主要部分是:有没有人成功为他们的存储过程编写单元测试?
我的问题的第二部分是使用linq进行单元测试是否更容易?
我想的是,您可以简单地创建一组测试对象,并在"linq to objects"情况下测试您的linq代码,而不是必须设置测试数据表.(我对linq来说是全新的,所以不知道这是否会起作用)
在未压缩的情况下,我知道我需要读取wav标头,拉出通道数,位数和采样率并从那里开始工作:(通道)*(位)*(样本/ s)*(秒) =(filesize)
有没有更简单的方法 - 一个免费的库,或者.net框架中的某些东西?
如果压缩.wav文件(例如使用mpeg编解码器),我该怎么做?
我相信SO上的很多读者都使用Lutz Roeder的.NET反射器来反编译他们的.NET代码.我很惊讶我们的源代码可以从编译的程序集中重新编译.
我有兴趣听听你们中有多少人使用混淆,以及使用什么类型的产品?
我确信这是一个更重要的问题,例如,您提供的通过互联网下载的.NET应用程序,而不是针对特定客户端定制的内容.
有没有人对使用微软的WCF构建的Web服务有多好,可以扩展到大量用户?
我想到的水平是1000多个客户端用户连接到一组WCF服务的区域,这些服务为我们的应用程序提供业务逻辑,并且这些与数据库通信 - 类似于传统的3层架构.
是否有任何特定陷阱降低了性能,或者是否已经实现了这种可伸缩性的设计经验?
我有两个问题:
首先不起作用:
select hotels.TargetCode as TargetCode from hotels
union all
select DuplicatedObjects.duplicatetargetCode as TargetCode
from DuplicatedObjects where DuplicatedObjects.objectType=4
Run Code Online (Sandbox Code Playgroud)
因为我收到错误:
Cannot resolve collation conflict for column 1 in SELECT statement.
Run Code Online (Sandbox Code Playgroud)
第二部作品:
select hotels.Code from hotels where hotels.targetcode is not null
union all
select DuplicatedObjects.duplicatetargetCode as Code
from DuplicatedObjects where DuplicatedObjects.objectType=4
Run Code Online (Sandbox Code Playgroud)
结构体:
Hotels.Code -PK nvarchar(40)
Hotels.TargetCode - nvarchar(100)
DuplicatedObjects.duplicatetargetCode PK nvarchar(100)
Run Code Online (Sandbox Code Playgroud) 通常我做的就是这样(只是一个例子):
using (Stream xmlStream = client.OpenRead(xmlUrl))
{
using (XmlTextReader xmlReader = new XmlTextReader(xmlStream))
{
}
}
Run Code Online (Sandbox Code Playgroud)
不仅仅是做得更好:
using (XmlTextReader xmlReader = new XmlTextReader(client.OpenRead(xmlUrl)))
{
}
Run Code Online (Sandbox Code Playgroud)
但是我不确定在这个简短的语法中是否所有资源都将被处理(流)或只有XmlTextReader?
提前感谢您的回答.
我已经看到一些iOS应用程序具有此功能:当用户尝试打开电子邮件附件时,他们可以按住附件几秒钟,然后会出现一个弹出菜单,显示两个按钮.一个按钮显示"在iBooks中打开"(例如).当用户点击它时,该应用程序将运行并打开附件.
我想知道如何注册我的应用程序以与特定文档类型相关联.
打开文档时会发生什么?它是复制到应用程序可以读取的位置,还是应用程序接收表示文档的某种对象?
如果有人知道怎么做,请告诉我.非常感谢.
我们一直在尝试使用C#编写的worker类的单元测试,它使用moq模拟第三方API(基于COM)来动态创建模拟对象.NUnit是我们的单元测试框架.
这个第三方组件实现了几个接口,但还需要使用事件回调到我们的工作类.我们的计划是模拟第三方组件可以引发的事件,并测试我们的工人类是否按预期运行.
不幸的是,我们遇到了一个问题,因为moq似乎无法模拟并引发外部定义的事件.遗憾的是,我无法提供我们正在使用的确切第三方API的代码,但我们使用MS Word API重新创建了该问题,并且还显示了在使用本地定义的界面时测试如何工作:
using Microsoft.Office.Interop.Word;
using Moq;
using NUnit.Framework;
using SeparateNamespace;
namespace SeparateNamespace
{
public interface LocalInterface_Event
{
event ApplicationEvents4_WindowActivateEventHandler WindowActivate;
}
}
namespace TestInteropInterfaces
{
[TestFixture]
public class Test
{
[Test]
public void InteropExample()
{
// from interop
Mock<ApplicationEvents4_Event> mockApp = new Mock<ApplicationEvents4_Event>();
// identical code from here on...
bool isDelegateCalled = false;
mockApp.Object.WindowActivate += delegate { isDelegateCalled = true; };
mockApp.Raise(x => x.WindowActivate += null, null, null);
Assert.True(isDelegateCalled);
}
[Test]
public void LocalExample()
{
// from …Run Code Online (Sandbox Code Playgroud) c# ×3
sql ×2
unit-testing ×2
.net ×1
64-bit ×1
attachment ×1
audio ×1
c++ ×1
compression ×1
email ×1
ios ×1
ipad ×1
iphone ×1
linq-to-sql ×1
mfc ×1
mocking ×1
moq ×1
nunit ×1
obfuscation ×1
scalability ×1
soa ×1
visual-c++ ×1
vmware ×1
wcf ×1
windows ×1