小编Ada*_*tle的帖子

如何检测C#中是否存在此字典密钥?

我正在使用Exchange Web服务托管API和联系人数据.我有以下代码,它是功能性的,但并不理想:

foreach (Contact c in contactList)
{
    string openItemUrl = "https://" + service.Url.Host + "/owa/" + c.WebClientReadFormQueryString;

    row = table.NewRow();
    row["FileAs"] = c.FileAs;
    row["GivenName"] = c.GivenName;
    row["Surname"] = c.Surname;
    row["CompanyName"] = c.CompanyName;
    row["Link"] = openItemUrl;

    //home address
    try { row["HomeStreet"] = c.PhysicalAddresses[PhysicalAddressKey.Home].Street.ToString(); }
    catch (Exception e) { }
    try { row["HomeCity"] = c.PhysicalAddresses[PhysicalAddressKey.Home].City.ToString(); }
    catch (Exception e) { }
    try { row["HomeState"] = c.PhysicalAddresses[PhysicalAddressKey.Home].State.ToString(); }
    catch (Exception e) { }
    try { row["HomeZip"] = c.PhysicalAddresses[PhysicalAddressKey.Home].PostalCode.ToString(); }
    catch …
Run Code Online (Sandbox Code Playgroud)

c# exchangewebservices ews-managed-api

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

为什么所有的Active Record都讨厌?

随着我越来越多地了解OOP,并开始实施各种设计模式,我不断回到人们讨厌Active Record的案例.

通常,人们说它不能很好地扩展(引用Twitter作为他们的主要例子) - 但没有人真正解释为什么它不能很好地扩展; 和/或如何在没有缺点的情况下实现AR的优点(通过类似但不同的模式?)

希望这不会变成关于设计模式的神圣战争 - 我想知道的只是****特别****Active Record有什么问题.

如果它不能很好地扩展,为什么不呢?

还有什么其他问题?

oop activerecord design-patterns ruby-on-rails

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

通过布尔属性使用"track by"过滤Angular 1.2 ng-repeat

我正在尝试根据布尔属性的值过滤一些列表项,但无论我做什么,总是会显示整个列表.我尝试过的一些东西已经破碎,没有任何东西显示出来,但这既不在这里,也不在那里.我不能按要求让我的过滤工作:

$scope.attendees = [
     {"firstname":"Steve",    "lastname":"Jobs",  "arrived":true,  "id":1}
    ,{"firstname":"Michelle", "lastname":"Jobs",  "arrived":false, "id":2}
    ,{"firstname":"Adam",     "lastname":"Smith", "arrived":true,  "id":3}
    ,{"firstname":"Megan",    "lastname":"Smith", "arrived":false, "id":4}
    ,{"firstname":"Dylan",    "lastname":"Smith", "arrived":false, "id":5}
    ,{"firstname":"Ethan",    "lastname":"Smith", "arrived":false, "id":6}
];
Run Code Online (Sandbox Code Playgroud)

使用以下ng-repeat过滤:

<ul>
    <li ng-repeat="person in attendees track by person.id | filter:arrived:'false'">
            {{person.lastname}}, {{person.firstname}}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我觉得我已经尝试过我可以找到的每个排列,其中大多数来自各种StackOverflow搜索结果:

  • filter:'arrived'
  • filter:arrived
  • filter:'person.arrived'
  • filter:person.arrived
  • filter:{arrived:true}
  • filter:{arrived:'true'}
  • filter:{person.arrived:true}
  • filter:{person.arrived:'true'}

我也尝试过创建自定义过滤器功能:

$scope.isArrived = function(item) {
    return item.arrived;
};
Run Code Online (Sandbox Code Playgroud)

并应用它:

  • filter:isArrived
  • filter:'isArrived'
  • filter:{isArrived(person)}
  • filter:isArrived(person)
  • filter:'isArrived(person)'

这些似乎都不起作用.我错过了什么?

这是一个展示我问题的plnkr.

angularjs angularjs-ng-repeat

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

寻找JavaScript Month Picker

我正在寻找一个JavaScript月份选择工具.我已经在网站上使用jQuery了,所以如果它是一个jQuery插件,那就很合适了.我也对其他选择持开放态度.

基本上,我正在使用简化版的jQuery UI Date Picker.我不关心这个月的日子,只关注月份和年份.使用日期选择器控件感觉像是矫枉过正和一个kludge.我知道我可以使用一对选择框,但感觉很杂乱,然后我还需要一个确认按钮.

我正在设想一个由两行六列或三行四列组成的网格,用于月份选择,以及当前和未来的年份.(也许有能力列出几年?我看不到任何人需要提前一年或两年,所以如果我能列出当前和未来两年,那就会膨胀.)

它实际上只是DatePicker的一个愚蠢的版本.这样的事情存在吗?

javascript jquery

47
推荐指数
3
解决办法
6万
查看次数

解决XKCD中的NP完全问题

问题/漫画有问题:http://xkcd.com/287/

一般解决方案可为您提供50%的小费

我不确定这是最好的方法,但这是我到目前为止所提出的.我正在使用CFML,但任何人都应该可读.

<cffunction name="testCombo" returntype="boolean">
    <cfargument name="currentCombo" type="string" required="true" />
    <cfargument name="currentTotal" type="numeric" required="true" />
    <cfargument name="apps" type="array" required="true" />

    <cfset var a = 0 />
    <cfset var found = false />

    <cfloop from="1" to="#arrayLen(arguments.apps)#" index="a">
        <cfset arguments.currentCombo = listAppend(arguments.currentCombo, arguments.apps[a].name) />
        <cfset arguments.currentTotal = arguments.currentTotal + arguments.apps[a].cost />
        <cfif arguments.currentTotal eq 15.05>
            <!--- print current combo --->
            <cfoutput><strong>#arguments.currentCombo# = 15.05</strong></cfoutput><br />
            <cfreturn true />
        <cfelseif arguments.currentTotal gt 15.05>
            <cfoutput>#arguments.currentCombo# > 15.05 (aborting)</cfoutput><br />
            <cfreturn false /> …
Run Code Online (Sandbox Code Playgroud)

language-agnostic np-complete

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

SQL事务错误:无法提交当前事务,并且无法支持写入日志文件的操作

我遇到了类似的问题当前的事务无法提交,也无法支持写入日志文件的操作,但我有一个后续问题.

那里的答案在Transact-SQL中引用了使用TRY ... CATCH,我将在一秒钟内回过头来......

我的代码(当然继承)有简化形式:

SET NOCOUNT ON
SET XACT_ABORT ON

CREATE TABLE #tmp

SET @transaction = 'insert_backtest_results'
BEGIN TRANSACTION @transaction

BEGIN TRY

    --do some bulk insert stuff into #tmp

END TRY

BEGIN CATCH
    ROLLBACK TRANSACTION @transaction
    SET @errorMessage = 'bulk insert error importing results for backtest '
        + CAST(@backtest_id as VARCHAR) +
        '; check backtestfiles$ directory for error files ' + 
        ' error_number: ' + CAST(ERROR_NUMBER() AS VARCHAR) + 
        ' error_message: ' + …
Run Code Online (Sandbox Code Playgroud)

sql-server transactions sql-server-2005

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

Flex警告:无法绑定到类'Object'上的属性'foo'(类不是IEventDispatcher)

我有一个对象,其中包含我想要绑定到表单元素的十几个字段,以便我可以使用该对象将数据发送回服务器进行保存.

我的容器对象的定义:

private static const emptyLink:Object = {
    id: -1, title:'',
    trigger1:'',trigger2:'',trigger3:'',trigger4:'',trigger5:'',
    linkTitle:'', linkBody:'',
    answer1:'',answer2:'',answer3:'',answer4:'',answer5:''
};

[Bindable] public var currentLink:Object = emptyLink;
Run Code Online (Sandbox Code Playgroud)

currentLink在运行时分配给ArrayCollection中的特定索引,我只是使用该emptyLink对象进行初始化.

<mx:Panel id="triggerPanel" title="Trigger" width="33%">
    <mx:VBox id="tpBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
        <mx:TextInput id="trigger1" width="100%" textAlign="left" text="{currentLink.trigger1}" />
        <mx:TextInput id="trigger2" width="100%" textAlign="left" text="{currentLink.trigger2}" />
        <mx:TextInput id="trigger3" width="100%" textAlign="left" text="{currentLink.trigger3}" />
        <mx:TextInput id="trigger4" width="100%" textAlign="left" text="{currentLink.trigger4}" />
        <mx:TextInput id="trigger5" width="100%" textAlign="left" text="{currentLink.trigger5}" />
    </mx:VBox>
</mx:Panel>
Run Code Online (Sandbox Code Playgroud)

当然,这编译并显示得很好,但每个实例都有运行时警告:

警告:无法绑定到类'Object'上的属性'trigger1'(类不是IEventDispatcher)警告:无法绑定到类'Object'上的属性'trigger2'(类不是IEventDispatcher)警告:无法绑定到类'Object'上的属性'trigger3'(类不是IEventDispatcher)警告:无法绑定到类'Object'上的属性'trigger4'(类不是IEventDispatcher)警告:无法在类上绑定属性'trigger5' '对象'(类不是IEventDispatcher)

并且在更改字段currentLink时不更新对象TextInput.

显而易见的答案是我的对象需要是实现的类的实例IEventDispatcher.答案没有告诉我的是实现该界面的细节(需要什么?什么不是?),以及是否有更简单的方法 …

apache-flex binding mxml flex3 actionscript-3

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

Exchange Web Services 2010入门

我的任务是在.Net中编写一个SOAP Web服务,作为EWS2010和以前使用WebDAV连接到Exchange的应用服务器之间的中间件.(据我所知,WebDAV正在消失EWS2010,因此应用服务器将无法像之前那样连接,并且在没有WebDAV的情况下连接到EWS的指数更难.理论上是在.Net中实现它.应该比其他任何事情都容易......对吧?!)

我的最终目标是能够获取更新指定Exchange帐户的电子邮件,日历项,联系人和待办事项列表项.(删除目前不是必需的,但我可以将其构建以供将来考虑,如果它很容易的话).

我最初得到了一些示例代码,实际上它确实有效,但我很快意识到它已经过时了.使用的类型和类在当前文档中没有出现.

例如,用于创建与Exchange服务器的连接的方法是:

ExchangeService svc = new ExchangeService();
svc.Credentials = new WebCredentials(AuthEmailAddress, AuthEmailPassword);
svc.AutodiscoverUrl(AutoDiscoverEmailAddress);
Run Code Online (Sandbox Code Playgroud)

对于它的价值,这是使用示例代码附带的程序集:( Microsoft.Exchange.WebServices.dll"MEWS").

在我意识到这不是当前实现连接的标准方法之前,它起作用了,我尝试在它上面构建并添加一个创建日历项的方法,我从这里复制了:

static void CreateAppointment(ExchangeServiceBinding esb)
{
    // Create the appointment.
    CalendarItemType appointment = new CalendarItemType();

    ...
}
Run Code Online (Sandbox Code Playgroud)

马上,我遇到了ExchangeServiceExchangeServiceBinding("ESB")之间的区别; 所以我开始谷歌搜索试图找出如何获得ESB定义,以便该CreateAppointment方法将编译.我发现这篇博文解释了如何从WSDL生成代理类,我做了.

不幸的是,这引起了一些冲突,其中原始程序集中定义的类型Microsoft.Exchange.WebServices.dll(示例代码附带的)与我的新EWS.dll程序集中的类型(我services.wsdl根据Exchange服务器提供的代码编译)重叠.

我排除了MEWS装配,这只会让事情变得更糟.我从一些错误和警告到25个错误和2,510个警告.没有找到各种类型和方法.这里显然有些不对劲.

所以我回去追捕.我找到了添加服务引用和Web引用的说明(即在VS2008中采取的额外步骤),我想我已经回到了正确的轨道上.

我删除了(实际上,现在,只是排除了)我以前尝过的所有以前的程序集; 我添加了一个服务参考https://my.exchange-server.com/ews/services.wsdl

现在我只有1个错误和1个警告.

警告:
元素'transport'不能包含子元素'extendedProtectionPolicy',因为父元素的内容模型为空.

这是指我添加服务引用时对web.config所做的更改; 而我刚刚在SO上找到了解决方法.我已经按照指示对该部分进行了评论,并确实使警告消失了,所以就这样了.

但错误并不容易解决: …

.net c# exchange-server exchangewebservices

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

需要足够长且复杂的Markdown文档进行性能测试

我正在寻找一个长而复杂的Markdown文档,我可以用它来测试不同降价实现的性能 - 作为一个简单文档的迭代基准测试的替代方案.

我以为我可以浏览Stack Overflow并找到一些东西,但总的来说,我发现的一切都很简单; 到目前为止,我在谷歌上找不到任何有用的东西.

是否有一个现有的文档展示了大部分或全部的Markdown语法,也许是为这样的测试编写的?

testing performance markdown

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

我何时应该使用范围锁定(应用程序,服务器等)与ColdFusion中的命名锁定?

什么时候适合使用<cflock scope ="application">或者它与<cflock name ="foo">相反?

具体来说,我对使用CFLock保护应用程序,会话或服务器范围中的共享对象感兴趣,但我也有兴趣了解ColdFusion中锁定的不同用法.

coldfusion locking shared-memory coldfusion-8

11
推荐指数
1
解决办法
3963
查看次数