【发布时间】:2014-07-29 06:45:57
【问题描述】:
我使用 C#.net(VS-2010) 创建了 Windows 服务。当使用 Visual Studio 命令提示符将其安装到我的本地计算机时,我会报错。
安装阶段发生异常。 System.ComponentModel.Win32Exception:访问被拒绝
我试图通过过去的问题来解决,但它没有帮助我。
protected override void OnStart(string[] args)
{
//Get data from UAL database
try
{
MySqlConnection conn = new MySqlConnection();
conn.ConnectionString = "Server=192.168.2.7;Port=3306;Database=ual;Uid=ualusr;Pwd=ualtest;";
conn.Open();
using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM Department", conn))
{
try
{
MySqlDataReader Reader = cmd.ExecuteReader();
while (Reader.Read())
{
if (!Reader.IsDBNull(0))
{
string Id = Reader.GetString(0);
MessageBox.Show("Id = " + Id);
}
}
Reader.Close();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
catch (Exception ex)
{
throw;
}
}
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。向我们展示代码、堆栈跟踪...有用的信息。
-
我上面已经提到了..
-
您向我们展示了在服务启动时运行的代码 - 但您甚至还没有安装服务,因此所有这些代码都不会运行。而且您还没有向我们展示安装程序组件的代码。
-
我只将 ProjectInstaller 属性更改为“StartType = Automatic”。
-
它询问安装服务的用户名和密码?如果万一询问意味着给定用户需要对该机器具有执行权限。
标签: c# windows-services