这样的问题该如何在asp.net里处理?正解200分不够再加,分多的是。
我现在想通过ASP.NET实现pop3服务器(win2003自己带的)的在线注册邮箱功能,
但是一个有很棘手的问题是,添加加邮箱用户是通过命令行完成的。
我写应用程序可以完成这个操作,但是我写成了ASP.net程序后就有一个权限问题了
因为,应用程序是在administrator用户下运行的,加邮箱用户根本不会出现问题
而ASP。.NET运行时明显权限不够,根据我捕捉到的错误显示“xxxxx 拒绝访问”
xxxxx是一些管理员才能用的命令。
于是我换方法了,runas /user:www\administrator "xxxxx"
命令解释:允许用户用其他权限运行指定的工具和程序,而不是用户当前登录提供的权限。
这时候程序要求我输入管理员密码,才能执行XXXXX,
混呀死路嘛,我是在ASP.NET里呀,服务器上根本不可能有人去输入
=============================
public string Add_User()
{
Process myProcess = new Process();
string s;
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.UseShellExecute =false;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.StartInfo.RedirectStandardInput =true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.Start();
StreamWriter sIn = myProcess.StandardInput;
sIn.AutoFlush = true;
StreamReader sOut = myProcess.StandardOutput;
StreamReader sErr= myProcess.StandardError;
//sIn.Write(@"runas /user:www\Administrator "xxxxx");
sIn.Write(System.Environment.NewLine);
sIn.Write("exit" + System.Environment.NewLine);
s = sOut.ReadToEnd();
if(myProcess.HasExited==false)
{
myProcess.Kill();
}
sIn.Close();
sOut.Close();
sErr.Close();
myProcess.Close();
return s;
}
========================
问题
1。我已经无法对上面的程序进行控制了,谁能提供输入密码的方法。
2。换个方案解决。
既然服务器上写应用程序可以完成,我能不能写个WINDOWS服务程序后台运行,然后asp。net调用呀,就想组件一样。
我没有写过WINDOWS服务程序后台,请大家写个最基本的程序给我看看,要求asp.net传2符串进去,WINDOWS服务程序后台将2个字符连接成1个字符串,请给一个最基本的源代码和asp。net调用
的方法。
3。方法3,自己解答了。如果没有解决方法,我只能写个应用程序在服务器上运行了,每1分钟检查一次数据库,如果有新记录就运行最上面的代码,完成帐号添加操作,删除也是一样。这样虽然能解决问题,但是不能即使处理问题。而却效率不高。
可想一下,客户输入用户名和密码1-2后分钟才能建立帐户合理吗?是在不行就只有这样了。
4。第3问的补充,客户能否同asp.net调用服务器上运行的某一个应用程序,完成一项操作。能,请给出程序代码和调用代码
给出给出正解的200分
问题点数:100、回复次数:10Top




