首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自测试服务器的RDO Outlook救赎访问邮箱

来自测试服务器的RDO Outlook救赎访问邮箱
EN

Stack Overflow用户
提问于 2012-02-01 20:57:01
回答 1查看 3K关注 0票数 0

我已经建立了一个网络应用程序,使用救赎来读取邮箱,让我们称之为"custom@domain.com“。使用localhost可以很好地工作,但是当我部署它时,就会得到这个异常。

Error System.Runtime.InteropServices.COMException (0x80004005):使用CLSID (29AB7A12-B531-450E-8F7A-EA94C2F3C05F}从IClassFactory创建COM组件的实例,但由于以下错误而失败: 80004005。在System.RuntimeTypeHandle.CreateInstance(RuntimeType类型下,布尔型publicOnly、布尔型noCheck、布尔& canBeCached、RuntimeMethodHandleInternal& ctor、布尔&bNeedSecurityCheck在System.RuntimeType.CreateInstanceSlow(布尔型publicOnly、布尔型skipCheckThis、布尔fillCache)的System.Activator.CreateInstance(类型类型,布尔nonPublic)

上的布尔skipVisibilityChecks、布尔skipCheckThis、布尔fillCache)。

--我猜我的服务器正在使用它的网络用户作为默认用户登录邮箱,而不是当前访问web应用程序的windows用户。如何让服务器或RDO代码使用RDO应用程序使用当前的NT用户?

我已经在我的服务器上安装了MAPI扩展,并在注册表中注册了dll。

我的RDO代码如下所示

代码语言:javascript
复制
 RDOSession Session = null;
        rdoDefaultFolders olFolderInbox = rdoDefaultFolders.olFolderInbox;

        Session = new RDOSession();//this throws the exception above
        Session.LogonExchangeMailbox("username@domain.com", outLookServer);  
         objFolder = Session.GetDefaultFolder(olFolderInbox);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-03 00:21:49

,噩梦(或者不是推荐的)解决方案,,我认为问题在于应用程序的苦涩,正如Dmitry所指出的。然而,将应用程序转换为32位或64位的问题是不可避免的和可怕的连锁反应:将解决方案中的每个项目转换为使用相同的bitness,以便应用程序可以使用相同位的MAPI。如果您有其他使用相同库和项目的应用程序,那么这些应用程序也可能会中断,所以说起来容易做起来难。事实上,我试过了,它在这么多的ways...decided中破坏了这个项目,这是不值得的。

最佳解决方案

对于Exchange 2007_SP1和更高版本,我们有一个名为Exchange的方便的WebService,它与Redemption...maybe做同样的事情,但它可以满足您的日常展望需求。请阅读下载中的指南以获得更好的信息。

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13480

这对我来说是最好的解决方案,因为它不需要任何应用程序来指定位,它不需要任何特殊的指令,也没有任何松散的结尾。一个简单的DLL,完全可以通过身份验证甚至模拟来完成您的需要。谁不喜欢网络服务呢?

示例代码

代码语言:javascript
复制
using ExWs = Microsoft.Exchange.WebServices.Data; 

 ExWs.ExchangeService service = new 
                   ExWs.ExchangeService(ExWs.ExchangeVersion.Exchange2007_SP1);
                    service.Credentials = new   
                   ExWs.WebCredentials("username", "password", "domain");
                    service.AutodiscoverUrl("name@company.com");

教程,,再次阅读指南或谷歌它。

其他示例http://omegacoder.com/?p=454

Download attachment from Exchange using Exchange Web Services

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9103239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档