|
|
1
2
你能把剩下的托管服务的代码贴出来吗? 启动服务的类应继承自“ServiceBase”,并应实现“OnStart”和“OnStop”方法。服务控制台调用这些方法来启动和停止服务进程,因此应该在这些方法中打开/关闭服务主机。只是想知道你是否不这么做。 |
|
|
2
1
服务的运行方式是什么?我想知道服务是否无法启动,可能是因为没有打开端口的权限。 尝试以您自己的身份运行服务(但作为服务)。如果有效,这是一个权限问题。最有可能的是http.sys权限。 要分配访问权限,请使用 netsh 在Vista/Windows7上,或在XP上为httpcfg。 |
|
|
3
0
您从何处获取创建服务主机的代码?我的第一个猜测是,当您将它作为服务运行时,您要么不创建servicehost,要么不保留对它的引用(因此它会被垃圾收集)。 |
|
|
4
0
如果您在同一台计算机上,我建议使用netnamedpipebinding而不是wshttpbinding。它更快。如果您需要跨机器使用,可以随时更改回WS-HTTP。 确保您的服务实际上是通过TaskManager运行的。如果没有,请将debugger.break()语句放到服务的构造函数中,并单步执行以查找它未能启动的位置。 Here 是在C(如果需要)中创建Windows NT服务的一步一步的简洁方法。 |
|
|
5
0
事件日志中没有关于注册地址失败的内容? 是否尝试调试服务(使用Visual Studio附加到进程)? |
|
|
6
0
您检查过WinForms应用程序和服务的配置文件中都定义了该配置吗? |
|
|
A B · C#Excel自动调整列避免长文本时出错 9 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 9 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 9 月前 |