我正在尝试创建一个可用于搜索Exchange GAL的应用程序,但是,我发现有关此主题的新4.0文档令人困惑.有谁知道如何在GAL中搜索包含特定字符串的名称(例如"Smi")?我的源代码目前几乎无用,因为我只是试图指出我只想要搜索GAL而不是设备上的本地联系人.另外,如何使用kABSourceTypeSearchableMask?我在这里缺少一些基本的东西.从文档......
来源类型
这些常量标识源的类型.
enum {
kABSourceTypeLocal = 0x0,
kABSourceTypeExchange = 0x1,
kABSourceTypeExchangeGAL = kABSourceTypeExchange | kABSourceTypeSearchableMask,
kABSourceTypeMobileMe = 0x2,
kABSourceTypeLDAP = 0x3 | kABSourceTypeSearchableMask,
kABSourceTypeCardDAV = 0x4,
kABSourceTypeCardDAVSearch = kABSourceTypeCardDAV | kABSourceTypeSearchableMask,
};
typedef int ABSourceType;
Run Code Online (Sandbox Code Playgroud)
当我查询默认的源类型时,我得到"1",这似乎表明默认类型是"kABSourceTypeExchange",这是正确的,因为这是我在我的设置中.我不知道如何超越这一点......
由于整个源概念是4.0中ABAddressBook框架的一个新概念,我不认为人们对此有很多经验,但希望有人可以帮助我理解如何使用上述...谢谢.
我们的代码库有很多COM对象,所以通常我们会有类似的东西:
//this is the IDL-generated IGetTime interface header
#include "gettime.h"
//our COM class implementation of IGetTime
class CGetTime : public IGetTime
{
public:
CGetTime(CGetTimeCF &factory,...); //COM-specific constructor params
/* IUnknown */
STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR * ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
/* IGetTime */
STDMETHODIMP GetTheTime(); //
};
Run Code Online (Sandbox Code Playgroud)
构造函数和其他一些东西的设置方式,这个类只能通过COM轻松使用...你可以破解创建对象的方法,但它往往是片状的.但是我很多情况下,没有COM就可以使用类的实际功能...如果你能这样做,这也更容易测试new CGetTime();
我想知道这样的事情是一种模式:
class CGetTimeBase
{
public:
STDMETHODIMP GetTheTime();
};
class CGetTime : public IGetTime, public CGetTimeBase
{
...
};
Run Code Online (Sandbox Code Playgroud)
这是一个很好的方法,还是有更好的方法来提供一个提供核心功能的'普通C++'类,以及一个COM类做COM的东西?为了最大限度地减少要编写的代码量,我认为不是不介绍包装器方法,而是在非COM类中使用实际的实现方法,因此它会自动出现在COM类中.
思考?};
我正在编写一个应用程序,它解析一个大文件,生成大量数据并用它做一些复杂的可视化.由于所有这些数据都无法保存在内存中,我做了一些研究,我开始将嵌入式数据库视为此数据的临时容器.
我的问题是:这是解决这个问题的传统方式吗?应该通过在内存中仅保留一个子集(如缓存)来管理数据的嵌入式数据库(除结构化数据之外),而其余数据库保留在磁盘上?谢谢.
编辑:澄清:我正在编写一个桌面应用程序.应用程序将输入大小为100s Mb的文件.在读取文件后,应用程序将生成大量可视化的图形.由于图形可能具有如此大量的节点,因此它们可能不适合存储器.我应该将它们保存到嵌入式数据库中,该数据库将仅保留内存中的相关数据吗?(嵌入式数据库会这样做吗?),或者我应该编写自己的复杂模块来做到这一点?
我试图在Visual Studio 2008中调试一个长存储过程.我已经按照此链接的所有步骤,但我仍然得到相同的错误:
'被用户取消'并且它永远不会到达断点.
Visual Studio 2008和SQL Server 2005在2个不同的服务器和域上运行,尽管我可以从运行Visual Studio的PC上看到SQL Server.
我想为HTML元素指定一个样式 - 但仅在标记有一些内容设置的情况下.
这可能使用纯CSS吗?理想情况下,我想避免对HTML本身的结构进行JS或服务器端更改.
码:
<div id="d1">d1</div>
<div id="d2">d2</div>
<script>
$(function(){
var j=$();
j=j.add("#d1");
j=j.add("#d2");
j.remove("#d1");//not this...
//alert(j.length);
j.css("border","1px solid red");
});
</script>
Run Code Online (Sandbox Code Playgroud)
我曾经习惯j.add()添加元素j,但是如何#d1从中删除j?
j.remove()是不工作的,因为它消除了#d1和j.length仍然是2.
谢谢大家!:)
WPF应用程序特有的攻击或安全漏洞是什么?
为了澄清,我不是问如何在WPF应用程序上进行SQL注入,或者我应该使用什么样的加密,或者......我也没有具体询问框架中的缺陷,或者WPF本身的缺陷,而是缺陷可能表现为基于不正确的实施.
非常具体地说,我对在WPF中实现的客户端应用程序特有的新攻击或新向量感兴趣.不是特别是XBAP ...... ClickOnce相关问题也很棒.
WPF Skin Skinning Security Concerns将是一个很好的例子,虽然与我的特定需求并不特别相关(但仍然是一个有效的答案).
我正在开发一个Web应用程序,它已经到了我已经拥有大部分必要功能的地步,我开始担心执行速度.所以我做了一些寻找信息,我发现了很多关于通过缩小CSS/JS,设置缓存控制头,使用单独的域用于静态文件,压缩输出等(以及基本服务器)来减少页面加载时间的问题.像memcached这样的技术).但是,假设我已经优化了所有这些,我关心的是我的Web应用程序生成一个页面实际需要多长时间,即没有缓存命中的纯服务器端处理时间.显然,将时间缩短的技巧将取决于我使用的语言和基础库,但目标是什么是合理的数字?为了比较,我'
我坚持使用一些代码来测量处理时间(或至少在我编写的代码中发生的部分),我通常会看到50-150ms范围内的值,这看起来非常高.我很想知道我应该把重点放在哪个方面,或者我对这个应用程序的整个方法是否太慢而且我应该放弃并尝试更简单的方法.(根据Firebug的Net选项卡,我不测量的处理部分通常会增加不到5毫秒,因为我正在同一台计算机上同时测试客户端和服务器.)
仅供参考我使用的是Werkzeug和SQLAlchemy/Elixir.我知道那些不是最有效的技术,但我真的只关心足够快,而不是尽可能快.
编辑:只是为了澄清,我上面引用的50-150ms是纯服务器端处理时间,仅适用于HTML页面本身.用户看到的页面加载所需的实际时间至少高出 200ms (因此,总共250-350ms)因为CSS/JS /图像的访问时间(尽管我知道可以通过正确使用缓存和Expires标题,精灵等,这是我将在不久的将来做的事情).网络延迟会在此基础上增加更多时间,因此我们可能会谈论总客户端加载时间为500毫秒.
更好的是,这里是一个典型示例的Firebug网络选项卡的屏幕截图: 来自Firebug的加载时间http://www.ellipsix.net/ext-tmp/loadtimes.png 这是我问的关于顶部的74毫秒.
我正在尝试分析一个应用程序,其中程序集引用应该是有向非循环图,但不是.还有一个相关的问题,即子组件引用了一个子组件的不同版本(想想Escher ......)
我想要做的是分析每个组件 - 子组件对,并建立一个错误的图片.
我需要一些关于什么是良好的数据结构的指导.我不太确定我可以构建一个不可变的那个,但是我不介意在内部将它变为可变,然后在最后转换为不可变的.
问题的另一部分是我应该使用什么样的算法来填充数据结构,然后用于"分析"问题.