我订阅了一个使用Exchange Web Services 2007的电子邮件帐户,并在新电子邮件进入时处理附件.我想在处理完这些电子邮件后将其标记为"已读",但我发现它不是就像将"IsRead"属性设置为true一样简单.我甚至尝试过以下方法:
Dim msg As EmailMessage
msg.Load(New PropertySet({EmailMessageSchema.IsRead}))
msg.IsRead = True
Run Code Online (Sandbox Code Playgroud)
我发现如果我想要与消息的某些部分(如附件)进行交互,我必须加载特定的模式属性.我还尝试将消息直接绑定到新对象并加载其他属性:
Dim iID as ItemId = msg.Id
Dim tmpMsg as EmailMessage = EmailMessage.Bind(service, iID, New PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.IsRead))
tmpMsg.IsRead = True
Run Code Online (Sandbox Code Playgroud)
我没有运气.我已经google了一下,发现一个MSDN博客示例似乎应该可以工作,但是他有一些我似乎无法找到的Microsoft.Exchange.WebServices.SetItemFieldType类(比如类;我在WebServices命名空间中得到的只是Data和AutoDiscover命名空间,没有课程或任何东西).由于我找不到那些类或类似的东西,我有点卡住了.他还列出了一个DAV示例,但是,他的代码再次使用了我在我的EWS dll版本中找不到的类(14.0.0.0).我尝试从Microsoft下载最新的API,但这似乎与我已有的版本相同.
所以我的问题是,有没有办法使用Exchange 2007 Web服务将项目标记为已读?
我正在尝试为soap请求添加一些属性.上评分最高PHP.net评论(http://php.net/manual/en/soapvar.soapvar.php),并在这里和这里的SO都说着同样的事情:
$param = array(
"_" => 'value',
'attrName' => 'attributeName'
);
$p = new SoapVar($param, SOAP_ENC_OBJECT);
Run Code Online (Sandbox Code Playgroud)
应该回来
<param attrName="attributeName">value</param>
Run Code Online (Sandbox Code Playgroud)
哪个会很棒,除非我运行那段代码,我得到这个XML:
<param>
<_>value</_>
<attrName>attributeName</attrName>
</param>
Run Code Online (Sandbox Code Playgroud)
这显然是错的.当然,我不是世界上唯一遇到这个问题的人吗?自2011年以来,关于这一点功能的文档是否发生了变化?
考虑这种情况:
应用程序具有受Laravel的CSRF过滤器保护的登录路由:
Route::group(array('before' => 'csrf'), function() {
Route::post('/doLogin', array('as' => 'doLogin', 'uses' => 'MainController@doLogin'));
});
Run Code Online (Sandbox Code Playgroud)
该应用程序位于负载均衡器后面,每个请求随机发送到其中一个server01或server02.Laravel被配置为坚持一个数据库,它是由两个共享会话server01和server02.要遵循的标准路径是:用户访问/,将其凭据输入登录表单,并提交这些凭据/doLogin,以检查令牌,处理凭据,并/在错误或/home成功时返回用户.
我的问题是这样的:因为有没有保证,谁访问用户/在server01将发布到/doLogin上server01,将Laravel内置的CSRF令牌的工作?或者由于存储了令牌Session,无论LB最终分配哪个服务器,它都能正常工作吗?
在DataGridView中,按SHIFT和SPACE将默认选择整行.我发现的唯一解决方案(在vb.net上引用DataGridView - 用键入的字符替换快捷键)是关闭行选择功能.虽然这有效,但它并不理想,因为我仍然希望能够使用行选择器选择整行(例如,删除行),并将SelectionMode属性更改为除了RowHeaderSelect失去该功能之外的任何其他内容.有没有办法陷阱SHIFT + SPACE组合并用简单的SPACE替换它?似乎没有一个关键事件甚至在控件的MutiSelect属性设置为True并且SelectionMode属性设置为时识别键击RowHeaderSelect,所以我不能使用它们.
ETA:我想可能会关闭MultiSelect并将选择模式更改为CellSelect,然后为事件添加事件处理程序RowHeaderMouseClick将起作用... nope.
我认为我的问题比标题更复杂.假设我有联系人的数据类:
Public Class Contact
Public Property Name As String
Public Property Phone As String
Public Property Fax As String
Public Property Email As String
End Class
Run Code Online (Sandbox Code Playgroud)
我有一个List(Of Contact)有几个不同联系人的对象.我如何搜索List其中一个属性的内容并返回结果Contact对象?