Calling MS Applications from an ASP.NET page

G

Guest

Hello,

I'm working on an application for use within my company on our intranet that will be used to gather some information and store some of the info in a SQL Server database and the rest of the information will be used to initiate either a MS Word or MS Excel document. The applications (Word & Excel) reside on the users local system but the database is on the server. Since it is for internal company use I'm not too concerned about security of accessing local applications but ASP.NET still has its restrictions. Is there a good way to accomplish this? I'm using VB.NET with ASP.NET.

Thanks in advance,
Rob
 
A

Alvin Bruney [MVP]

A couple of choices present themselves. I'd stick with a webservice chiefly
because it's easier to implement. Remoting is also an option. Both cases
call into components hosted elsewhere. Each has it's advantages. Ballpark
for what you are doing, i'd go with the webservice.

--
Regards,
Alvin Bruney [ASP.NET MVP]
Got tidbits? Get it here...
http://tinyurl.com/3he3b
Rob Kellow said:
Hello,

I'm working on an application for use within my company on our intranet
that will be used to gather some information and store some of the info in a
SQL Server database and the rest of the information will be used to initiate
either a MS Word or MS Excel document. The applications (Word & Excel)
reside on the users local system but the database is on the server. Since
it is for internal company use I'm not too concerned about security of
accessing local applications but ASP.NET still has its restrictions. Is
there a good way to accomplish this? I'm using VB.NET with ASP.NET.
 
G

Guest

Thanks for the information and the webservice suggestion. Could you elaborate a little on going with a webservice as the best solution? How would a webservice be used to solve the problem of initiating an application. I'm not that familiar with webservices

Thanks again
Rob

----- Alvin Bruney [MVP] wrote: ----

A couple of choices present themselves. I'd stick with a webservice chiefl
because it's easier to implement. Remoting is also an option. Both case
call into components hosted elsewhere. Each has it's advantages. Ballpar
for what you are doing, i'd go with the webservice

--
Regards
Alvin Bruney [ASP.NET MVP
Got tidbits? Get it here..
http://tinyurl.com/3he3
Rob Kellow said:
that will be used to gather some information and store some of the info in
SQL Server database and the rest of the information will be used to initiat
either a MS Word or MS Excel document. The applications (Word & Excel
reside on the users local system but the database is on the server. Sinc
it is for internal company use I'm not too concerned about security o
accessing local applications but ASP.NET still has its restrictions. I
there a good way to accomplish this? I'm using VB.NET with ASP.NET
 
H

Hoang Duc Chau

Hi,
I think that, Microsoft Team Service is best solution for your company. With
Microsoft Team Service everyone can share documents (excel, word...) to the
other (of course, if their have permition).
Would luck!

Rob Kellow said:
Hello,

I'm working on an application for use within my company on our intranet
that will be used to gather some information and store some of the info in a
SQL Server database and the rest of the information will be used to initiate
either a MS Word or MS Excel document. The applications (Word & Excel)
reside on the users local system but the database is on the server. Since
it is for internal company use I'm not too concerned about security of
accessing local applications but ASP.NET still has its restrictions. Is
there a good way to accomplish this? I'm using VB.NET with ASP.NET.
 
S

Simon Harvey

Hi,
I think that, Microsoft Team Service is best solution for your company. With
Microsoft Team Service everyone can share documents (excel, word...) to the
other (of course, if their have permition).
Would luck!

He doesnt want to know that some other technology does this - he wants to
know how he can do it using the technology he is already using!

Isn't it frustrating when people answer totally different questions than
what was actually asked.

He wants to know how to make an application open on the users machine, via
asp.net. End of story!

Sorry I can't help you Rob. I would be interested on how to do this as well
because Sharepoint Team Services does actually use this to good effect. I
don't know how MS do it though

Simon
 
S

Simon Harvey

Apologies for my last post. I just reread it and it was a bit bitchey.

I was in a bad mood earlier.

Sorry once again

Simon
 
G

Guest

Hi Hoang,

We have and are using the SharePoint Team services but I'm not sure how that will help to initiate an application from an ASP.NET page. I might need to look into it further but it seemed like the SharePoint Team services was more to "share" documents not create a new document with data gathered from an ASP.NET page.

I'll look into that though and thanks for the information,
Rob
 
G

Guest

Hi Simon

No need to apologize, half the time I think that I asked the wrong question (and probably do sometimes) but sometimes a reply is an alternative way of doing something. I replied to Hoang that I'm not sure how SharePoint will solve the problem I have of intiating an application from data entered on an ASP.NET page but it might be that I need to look into the SharePoint Team services a little further

Thanks for the feedback and regards
Rob
 
A

Alvin Bruney [MVP]

On the client system, you point your code to a url of webservice which you
will write the code for. When that call executes, the webservice springs
into action to presumably get data from the database. What it does with the
data after that is totally up to you. It really doesn't matter if the client
is running script or not because the webservice is callable from script or a
full blown application running on the client.

you build your webservice as a function call with an attribute [webmethod]
prepended to the function signature. Consider
[WebMethod] string getData(string)
{
//connect to database and get data
return stringdata;
}

your webservice runs on the server with access to the database. the
webservice is callable thru a url. Typically when you want data, from the
client you would make a call into the webservice and get the data back as a
string in this case. inside getData you can spawn word with the data you get
back by calling into the ProcessInfo class, or you can push the data back to
the client. Basically, your webservice is acting like a data delivery tier.
There are a myriad example on the web to building a webservice. Infact,
visual studio has a webservice already built in and commented out. If you
uncomment the code it will work.

I like the webservice example because it forms a tier and it can be called
by any application, which is good for scalability if you decide to expand
this program later on.

you can spawn an application from your webservice using this code:

ProcessStartInfo psi = new ProcessStartInfo("notepad.exe");
psi.WindowStyle = ProcessWindowStyle.Hidden;

Process p = new Process();
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(MyExited);
p.StartInfo = psi;
p.Start();

..... do stuff ...

I hope i've been on track with what you want to do. if not feel free to yell
at me.

--
Regards,
Alvin Bruney [ASP.NET MVP]
Got tidbits? Get it here...
http://tinyurl.com/3he3b
Alvin Bruney said:
A couple of choices present themselves. I'd stick with a webservice chiefly
because it's easier to implement. Remoting is also an option. Both cases
call into components hosted elsewhere. Each has it's advantages. Ballpark
for what you are doing, i'd go with the webservice.

--
Regards,
Alvin Bruney [ASP.NET MVP]
Got tidbits? Get it here...
http://tinyurl.com/3he3b
Rob Kellow said:
Hello,

I'm working on an application for use within my company on our intranet
that will be used to gather some information and store some of the info in a
SQL Server database and the rest of the information will be used to initiate
either a MS Word or MS Excel document. The applications (Word & Excel)
reside on the users local system but the database is on the server. Since
it is for internal company use I'm not too concerned about security of
accessing local applications but ASP.NET still has its restrictions. Is
there a good way to accomplish this? I'm using VB.NET with ASP.NET.
Thanks in advance,
Rob
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top