我来自一个有利于构建自己的世界而不是依赖其他人构建的库和框架.在逃离这个世界之后,我发现在Visual Studio中使用Typed DataSet等工具的快乐和轻松.除了失去灵活性,你还会失去什么?是否有性能因素(无视procs与动态sql争论)?限制?
我有一个WCF应用程序,它有两个服务,我试图使用net.tcp在一个Windows服务中托管.我可以运行任何一种服务,但只要我尝试将它们都放在Windows服务中,只有第一个加载.我已经确定第二个服务ctor正在被调用,但是OnStart永远不会被激活.这告诉我WCF发现加载第二个服务有问题.
使用net.tcp我知道我需要打开端口共享并启动服务器上的端口共享服务.这一切似乎都运作正常.我已经尝试将服务放在不同的TCP端口上但仍然没有成功.
我的服务安装程序类如下所示:
[RunInstaller(true)]
public class ProjectInstaller : Installer
{
private ServiceProcessInstaller _process;
private ServiceInstaller _serviceAdmin;
private ServiceInstaller _servicePrint;
public ProjectInstaller()
{
_process = new ServiceProcessInstaller();
_process.Account = ServiceAccount.LocalSystem;
_servicePrint = new ServiceInstaller();
_servicePrint.ServiceName = "PrintingService";
_servicePrint.StartType = ServiceStartMode.Automatic;
_serviceAdmin = new ServiceInstaller();
_serviceAdmin.ServiceName = "PrintingAdminService";
_serviceAdmin.StartType = ServiceStartMode.Automatic;
Installers.AddRange(new Installer[] { _process, _servicePrint, _serviceAdmin });
}
}
Run Code Online (Sandbox Code Playgroud)
这两项服务看起来非常相似
class PrintService : ServiceBase
{
public ServiceHost _host = null;
public PrintService()
{
ServiceName = "PCTSPrintingService";
CanStop = true;
AutoLog = …Run Code Online (Sandbox Code Playgroud)