How to access client's outlook in ASP.net? - asp.net

What I want to do with my app is accessing client's outlook, getting some data, using them to get more data from the database, and then make a file ready for blackberry to sync. All of these are better done on the server, so at the clients' end, there is only one file with everything ready, so they can easily sync it. I have searched a little, and found it is possible if I access exchange server. Could any one explain in details? I know nothing about exchange servers. Also, is there any other possible solutions?
Thank you.

Ok,
As i said you have a number of options.
I assume that you want to run this from a IIS server as you title says "Asp.Net"
Also I will assume that you want to do this in managed code. i.e not write a com object or native code.
Your options then, are to speak to exchange via web DAV , Exchange Web Services (EWS) or use a great 3rd party tool called Redemption which has RDO objects.
If you are running exchange 2007 EWS is the way to go. if you running earlier versions Web Dav is the way to go both these ways are supported by MS. RDO can be used with both versions but is supported by Dmitry Streblechenko
As far as EWS and DAV there are quite allot of resources out on the net and information on stackoverflow.
Also there are a few libraries that wrap EWS and web Dav calls up which may get you up and productive quicker.
http://www.independentsoft.com/webdavex/index.html is a good example.
EWS Resources
http://msdn.microsoft.com/en-us/library/bb204119.aspx
http://msdn.microsoft.com/en-us/library/cc540447.aspx
http://blogs.visoftinc.com/archive/2008/03/20/Using-Exchange-Web-Services-2007-The-Basics.aspx
http://www.webreference.com/programming/asp/Ajax_WebService/
WebDav
http://msdn.microsoft.com/en-us/library/aa486282(EXCHG.65).aspx
http://www.msexchange.org/articles/Access-Exchange-2000-2003-Mailbox-WebDAV.html
http://blogs.technet.com/kclemson/archive/2004/01/23/62247.aspx
http://gsexdev.blogspot.com/2005/04/aspnet-and-exchange-tips-and-samples.html
For Redemeption go to the Redemption site http://www.dimastr.com/redemption/ there are loads of examples most of them in VBA/VB but you can easliy transpose then into C#
Personaly I think that you should go down the MS supported routes first.
Marcus

Related

Secure http call in Microsoft Access in 2017 ... is there such a thing

I am coming from a background in Web Development. Have had some classes in MS access about 3 years ago. Currently I am working on a project primarily built using Access. Eventually the program will be expanded to interface with the same database that Access uses in the cloud. Which will then lead to development on a web project.
My question is its 2017 and I am aware that you can make web calls in Access , but just because I can doesn't mean I should right ? My client/boss would like to implement a credit card processing payment system into his Access application. However I am pushing for this to be something built from the web development side project that will take place later using an API. Any Access developers out there able to suggest whether its a good idea to wait to build this feature later when development has begun on the web project ? Is it okay or secure to make web calls using Access ? Or is there any alternatives to an existing merchant service that can interface with Access ? Any advice on this topic would be greatly appreciated. Thanks in advance.
Access (VBA) has COM support, and makes heavy use of it. Any existing merchanting solution that works with COM can work with Access.
If your desired merchant solution doesn't, you can create COM classes and libraries in C#, C++, VB.Net and probably some more programming languages.
If it's a good idea? That heavily depends on your demands. I don't know what the advantage of an Access database over a program is for you.
Note that if you're using ASP.Net for your web solution, you might use a common class to check and authorize payments, and you might want to develop both simultaneously.

Adding a Task in outlook 2013 using Asp.net Web Application

I have a asp.net Web App thru which i want to access Outlook 2013 and add/edit/delete outlook tasks.
I also have Exchange Server 2010.
I just do not know how to proceed with the solution. Do i need to use JavaScript API for Office OR EWS OR what...
Pls suggest...
For starters you can't access Outlook directly from a server/web application:
https://support.microsoft.com/en-us/kb/257757
You also cannot use the JavaScript API for Office as there is currently no support for task items.
Your only option is to use Exchange Web Services. Here's a good starting point:
https://msdn.microsoft.com/EN-US/library/office/jj900166(v=exchg.150).aspx
I have not tried to do this, so this is very general advice.
I would suggest reading up on EWS first, and then looking at the Javascript API for Office after that, if there are compelling reasons why EWS won't work in your scenario.
After that, the next question you need to answer is whether you want the server to do the communication with Exchange, or the client.
The server (the "code behind") might be a better choice if you need to incorporate data from other sources than user input (such as a database) into the user tasks, or vice versa.
If you are going to do this all via javascript on the client, then the Javascript API might also be an option, assuming the functionality is there.
Hope this helps.

How to get logical drivers from a client machine with asp

A tester came up to me and told me that a link was creating a dialog with the logical drivers from the server and the desired behavior would be that it showed drivers from the client side.
Since c# is a server side language I only believed that I need to use a client-side language.
Today this application is developed in Asp Net MVC so I went to seach such a feature in asp net.
Turns out there is nothing related to that I could find.
I found that javascript provides "FileSystemObject" that I believe I could do that, but I am looking for a solution using asp.
Any suggestion?
AFAIC, you cannot do this in C#. Software running on your server has no way to access the file system of the client computer. So you do need a client-side language such as JavaScript.
So I would try to get more information from JavaScript people, but I strongly suspect that there are severe limitations on this if it's possible at all. I don't want every website I visit to be able to access my system drives. It's a security risk.

Real time chat implementation for SharePoint

I have a client interested in a real time chat application for a SharePoint intranet portal to enable online interview style chat sessions.
Has anyone got reccomendations for a product on the Microsoft Stack that does this? Something that is integrated into SharePoint would be prefferable, but any ASP.NET product would suffice.
The solution would need to be pretty robust as we would expect over 1000 users during a given session.
Microsoft Office Communication Server is the way Microsoft intended chat for SharePoint. I dont know if its just for 1 to 1 communcation or if there is a good multi-user support.
Another way to implement chat (or IM) in SharePoint is to use Windows Live Messanger and the green precense icon which shows up to the left of all names in SharePoint. But this is probably not the way you want to use chat.
We initially turned to handy Windows Live Messanger, However we dropped it because of security concerning.
We are using Groove, which look advisable so far.
FYI
There is ChatterBox. It's more of a demo app but the source code is available. The latest version is dated 2007 and is in beta with AJAX support.
As you have the source code, I'm sure you could take it and turn it into something nice.
I did a little work into this but dropped it because it take alot work to implete all needed features.
The easiest way looked to use IRC. IRC client software is available as asp.net, use via an iframe or make into a custom web part, there are also flash or java clients which could be imbedded.
You would need to setup a IRC server.
There is a third party product for SharePoint 2010 called GameTime that supports real-time web based chat integrated into SharePoint.

How to write an offline version of an AJAX/ASP.NET web application

We have a web application that uses AJAX to talk to an ASP.NET web service. We would like to write another version that can be used offline. We need to be able to re-use our existing code as much as possible. What approaches should we consider?
The app is currently using XmlHttpRequest to get dynamic data from the server. Obviously the offline version will not be able to talk to the server, but it does need to talk to something! I'm sure installing IIS or Cassini on the client would work, but I was hoping for a simpler solution. Is there no other way for JavaScript to talk to some external code?
There are plenty offline web apps nowaday. It simply evolve from AJAX.
For example:
WoaS (wiki on a stick / stickwiki), Tiddly Wiki,
Google doc and Gmail is going to be offline.
You don't need a webserver to run these webapps in offline mode. Just store the required data, scripts on the client side (usually as XML).
One of the possibilities would be to use Cassini. This is a web server that acts as a host for the ASP.Net runtime. You can host Cassini in a Windows application or a Windows Service. In this scenario you do not have to rewrite the web app and the web service.
Most other solutions do require a rewrite of both your web app and your web service. Depending on the way you have written the existing app you can reuse more or less code.
Have you considered HTML5 with application cache and offline storage?
If you hope to create an "offline" version of your package your biggest issue by far will be the need to install your site into a local copy of IIS (registering a virtual directory, etc.). I pursued this briefly a few years ago and gave up in frustration. It can be done: a number of software vendors such as DevExpress do this so you have local copies of their demonstration projects. Indeed, I was able to do this. The problem was the classic "it works on my computer" syndrome. There was simply no way to guarantee that most of my end-users had anywhere near the technical proficiency to make this work.
Thus, I would strongly recommend that you not pursue this path unless you have very technically proficient users and a huge support staff.
But there is one more very important question: did you abstract all data access code to a DAL? If not, then you have a lot of work to do in managing data access as well.
Update: user "Rine" has recommended Cassini. I just wanted to let you know that I pursued Cassini and another 3rd-party web server as well. I think that there are licensing issues with Cassini but may be wrong - it has been awhile. However, I do distinctly remember running into barrier after barrier with this approach and very little documentation to help me out.
if you want a web application run offline, you need a webserver (IIS for ASP) bound to the localhost (127.0.0.1) address. After this so can access your web application by typing http://127.0.0.1/ in your web browser the same way as you do online.
If your AJAX relies on XMLHttpRequest's, you can:
Make the static versions of XML's you get over XMLHttpRequest and put then into a folder on disk.
Rewrite your XMLHttpRequest URL's so that they point to files on disk.
Rewrite your XMLHttpRequest's so that they don't check status (it's always 0 for the file:// protocol.
All JScript works on file:// pages as well as on http:// ones.
Of course it's not the best way to develop static pages, but it may save you some time on rewriting.
I havent come across any framework specifically built for asp.net like the ones available for PHP or RoR.
Here is a good article by Steven to get you started with HTML 5 and ASP.Net Creating HTML 5 Offline application
Obviously the offline version will not be able to talk to the server, but it does need to talk to something!
Enter HTML5 LocalStorage. It works like a database and enables you to put data on your client. Indeed you have to rework parts of your code in javascript and transmit it to the client, but then it would work offline.
Local Storage works like this:
- Setter: window.localStorage.setItem(KEY, VALUE)
- Getter: window.localStorage.getItem(KEY)
- Remove: window.localStorage.removeItem(KEY)
To get the main page working offline you need to create a manifest. This is used to store complete sites on the client. Please refer to this for more information about manifests:
http://diveintohtml5.info/offline.html
You want to build a web application to work offline?? It can't be done.
You could split the interface code from the rest (in diferent dlls) and create a windows application to mimic the behaviour of your web application. This way you have 2 distinct user interfaces but the same code for business rules and data access.
I don't really see any other way...

Resources