首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

一个webservice中调用外部程序的有关问题

2011-12-31 
一个webservice中调用外部程序的问题现在我想实现一个这样的功能有一个webservice供用户调用,用户调用接口

一个webservice中调用外部程序的问题
现在我想实现一个这样的功能
有一个webservice供用户调用,用户调用接口起了通知的作用,然后我根据用户的请求再做处理(类似于聊天工具一样的,但我这里不是做这个,只是举个例,方便自已说清楚自已的问题,你或许会说为什么不换别的方式,我当然有我的理由的,呵呵)
例如:A调用webservice上的接口setMsg(String^ strMsg),webservice上有很多的接口,当webservice发现有请求来了的时候(不管是哪个接口被调用了)就调用一个dll或外部的exe程序(这里标记为de),这个程序的作用是将没有发送成功的消息循环的发送(就是里面运行了一些线程,而且如果空闲了指定的时间就会自动退出),setMsg接口中收到消息后就会马上将收到的消息发送给B,如果发送失败,就会把消息的内容记录到一个指定的地方,格式假如是:
A strMsg B  

而de的作用就是处理没有成功的消息

我的问题在这里,webservice中如何在被访问的时候(不管是哪个接口被调用)就会调用de(de中会判断如果有一个在运行则不在运行多的,没有运行则运行,就是说只会有一个de实例在运行)
在网上找了下,有人说可以在web.config文件中做设置,但说的不详细,也不知道方法可不可行,如果你会或有更好的方法,请帮帮我,谢谢!



[解决办法]
帮你顶!!
[解决办法]
下面是WebService调用exe的例子
using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Diagnostics;

namespace WebService1
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{

[WebMethod]
public void HelloWorld()
{

Process p = new Process();
ProcessStartInfo psinfo = new ProcessStartInfo();
psinfo.FileName = "notepad.exe";
p.StartInfo = psinfo;
p.Start();
}
}
}

控制进程只运行一个实例代码请参考这个网址
http://www.cnblogs.com/gengchengxiang/articles/991666.html
[解决办法]
写在webservice的初始化中,其它的就按
badtank 
人是人他妈生的

热点排行