Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否通过asp.net应用程序连接到Outlook?_Asp.net_Outlook - Fatal编程技术网

是否通过asp.net应用程序连接到Outlook?

是否通过asp.net应用程序连接到Outlook?,asp.net,outlook,Asp.net,Outlook,我需要使用用户凭据通过ASP.NET web应用程序连接到Outlook。我有什么选择 仅供参考:用户使用Windows身份验证登录网站。我正在使用Outlook 2003 我将做一些类似的事情,但我看不出它不起作用的原因:编写一个用于与您正在使用的任何其他服务或工具进行通信的。由于它是一个ASP.NET应用程序,您可能希望使用web服务而不是对象远程处理 如果ASP.NET应用程序尚未运行,是否希望它启动Outlook? 一个Outlook进程将由多个用户共享,还是要连接到特定于用户的Outl

我需要使用用户凭据通过ASP.NET web应用程序连接到Outlook。我有什么选择


仅供参考:用户使用Windows身份验证登录网站。我正在使用Outlook 2003

我将做一些类似的事情,但我看不出它不起作用的原因:编写一个用于与您正在使用的任何其他服务或工具进行通信的。由于它是一个ASP.NET应用程序,您可能希望使用web服务而不是对象远程处理

如果ASP.NET应用程序尚未运行,是否希望它启动Outlook? 一个Outlook进程将由多个用户共享,还是要连接到特定于用户的Outlook进程?您希望ASP.NET应用程序充当Outlook尝试连接到的服务器,还是相反

如果边缘情况比较复杂,您可以尝试编写一个Windows服务作为两者之间的中介或网关,例如在每台Outlook计算机上运行并按需启动Outlook的服务

jtacoma: 如果ASP.NET应用程序尚未运行,是否希望它启动Outlook

那就更容易了。如果Outlook没有运行并不重要,那么我们就不需要启动它

一个Outlook进程将由多个用户共享,还是要连接到特定于用户的Outlook进程

需要连接到特定于用户的Outlook进程

您希望ASP.NET应用程序充当Outlook尝试连接到的服务器,还是相反

反过来说。我希望ASP.NET连接到Outlook

此外:
我目前正在查看另一个asp.net应用程序,它们正在使用WebDAV请求连接到Outlook。我不确定这是不是一个好办法。我觉得很乱

您的解决方案是否要求Outlook在ASP.NET服务器上运行?如果是这样,您可能需要研究许可的含义。我不认为微软打算用这种方式自动化Outlook。我也不认为有多个Outlook实例可以运行,这可能会造成严重的性能瓶颈问题。
如果您可以分享更多详细信息,这会有所帮助—您正试图通过Outlook自动执行哪些操作?是否涉及Exchange服务器?

Outlook实际上是通过一组COM API很好地公开的。但是,我很好奇您是否需要连接到Outlook客户端,或者直接连接到Exchange服务器

你想做的实际任务是什么

例如,导入outlook com DLL并创建互操作库后,执行大多数操作相当简单:

outlook.Application outlookApp = new outlook.ApplicationClass();
outlook.NameSpace olNameSpace = outlookApp.GetNamespace("MAPI");
olNameSpace.Logon (Credentials); 

outlook.ContactItem contact = (outlook.ContactItem)
     outlookApp.CreateItem(OlItemType.olContactItem);

contact.FirstName = "Joe";
contact.LastName = "Smith";

contact.Save();

这个片段在outlook中创建了一个新联系人。

对我来说,这个问题没有意义。Outlook不是服务器应用程序,它具有用户上下文。如果您要使用WebDAV、MAPI或IMAP连接到Exchange服务器,则更有意义。

听起来您实际上想连接到Exchange。对于2007年之前的exchange来说,WebDAV是一个不错的选择。对于Exchange2007,他们有可用的Web服务


为exchange邮箱(和日历)的所有需要制作一个好的(而且便宜的).NET库。

是的。我想我需要连接到exchange,而不是使用Outlook COM API。Robert指出,WebDav可能是exchange server在2007年之前的发展方向。是否有其他方法连接到exchange server?

这里有一个链接,可以使用asp.net通过新电子邮件打开outlook

有趣。。。WebDav可能比对象远程处理更简单,具体取决于您希望ASP.NET应用程序从Outlook获取的信息类型。顺便说一句,最好在原始问题中添加这些细节,而不是在答案中发布。我是stackoverflow新手。我想不出如何将这些添加到原始问题中。我想把它放在评论中,但我只有300个字符。我需要能够创建日历事件和联系人。我不确定如何连接到outlook。从以前的项目中,我看到其他人使用WebDAV进行连接。那好/坏吗?我最需要连接的是你对我的渴望吗?还有更完整的代码吗?是的,这就是我的意思。我想连接到exchange服务器。但我不知道该怎么做。webdav?mapi?imap?WebDAV可能是最好的方式。MAPI很讨厌。是的,还有其他方法。正如我所说,您可以使用MAPI。