我写了一个 Windows服务,其中我想要有一个实例运行每个客户.这是因为每个客户都有自己的具有相同模式的数据库; Windows服务之间的唯一区别在于它们各自具有与它们被指定用于服务的客户数据库相对应的不同参数. (我不能有多个工作线程的一个服务,因为数据库连接使用一个静态变量,我不能绕过线程.)

我找到了关于如何制作Windows服务的this neat little tutorial,但它只显示我如何设置一个单一的服务.我想设置n个服务实例,每个实例都有一个显示名称,其中包含客户名称,使用表示客户ID的命令行参数运行.

上面链接的教程有一个名为MyWindowsServiceInstaller的类,它在本地系统上安装Windows服务,我猜这是一个合理的地方,为我的所有客户设置一个foreach循环,为每个客户设置一个服务.但是我看不到接口上的任何地方可以让我为新服务设置一个命令行参数.

你怎么做呢?

解决方法

Wil Peck wrote a good article关于如何在单个框上安装Windows服务的多个实例.基本思想是,您必须通过给予他们不同的名称来欺骗安装程序,认为他们是不同的服务.

话虽如此,重新设计数据库连接代码似乎更容易(更可维护),以便它可以支持多个工作线程.

c# – 如何使用参数制作Windows服务?的更多相关文章

  1. Realm Swift

    一旦带有主键的对象被添加到Realm之后,该对象的主键将不可修改。IgnoredProperties重写Object.ignoredProperties()可以防止Realm存储数据模型的某个属性。Realm将不会干涉这些属性的常规操作,它们将由成员变量提供支持,并且您能够轻易重写它们的setter和getter。所有的查询在Realm中都是延迟加载的,只有当属性被访问时,才能够读取相应的数据。

  2. android – 线程或服务

    我对android上的线程和服务感到困惑.如果我必须从服务器下载一些文件.它可能一次只有多个文件.在这种情况下,线程或服务应该选择什么?

  3. Android图书馆的线程安全性

    我正在为Android系统实现一个本机共享库(.so).自然地,有一些代码块需要线程安全.我发现here的pthreads锁,互斥体或条件变量不受支持.我想知道图书馆层面通常使用什么来实现线程安全?解决方法这可以如何实现取决于您是否希望在Java级别线程访问时线程安全,或者需要将本机线程与Java线程同步.有两种方法只能同步Java级别的线程:最简单的方法是将synchronized关键字添加到多线程访问的本地方法中,即2.本机同步:请参考here关于如何同步Java线程的本机线程

  4. 如何使用常规Windows C/C++ API查询进程的线程数

    有没有办法使用标准WindowsC/C++API查询当前为特定进程运行的线程数?

  5. 为Windows编写跨平台(32位和64位兼容)程序(如.NET中的AnyCPU)

    Windows最初不了解.NET框架,因此WindowsPELoader无法在PE头中查找CLR头的任何额外功能;必须通过某种内核模式扩展添加此功能.但.NET框架似乎没有安装这样的东西……这显然是可能的,这让我想尝试编写一个原生的跨平台EXE……编辑:作为旁注,请考虑如何在64位WindowsPE环境中运行32位可执行文件…

  6. windows – 为什么我的WINVER 4 .exe在W98SE下运行?

    我需要为运行Windows98SE的遗留系统构建我的应用程序.(系统涉及特殊硬件,不可能进行操作系统升级.)我的开发环境是VisualC;该应用程序是vanillaANSIC,结果是WIN32控制台应用程序.我知道在VisualStudio2008中对旧版Windows的支持完全被删除了,所以我使用的是VisualStudio2005(我在上一代WindowsXP笔记本电脑上仍然使用它).我有条件

  7. windows – 如何在node.js中监听剪贴板事件?

    我希望能够在node.js中监听剪贴板事件.我已经在java中使用了Windows键盘钩子……所以我已经对这个主题有点熟悉了.当我使用Ubuntu10.10作为我的主要操作系统时,我对UbuntuDesktop解决方案最感兴趣.有什么想法吗?非常感谢提前,约亨我建议您查看node-clipboardmodule并使用回调不断监听剪贴板的更改.就像是:

  8. windows-installer – 无提示Windows Installer安装程序,无需自动重启

    目前我有一个MSI执行重大升级,它发布为:我的问题是关于特定属性REBOOT=ReallySuppress:这是否意味着它不会重新启动系统,但会在用户手动重启系统时进行适当的更改?或者它会忽略那些需要重启系统的东西?

  9. Windows上的可执行模块是否有理想的大小?

    在思考了我所看到的事情后,我留下了这些问题:>使用小的.exe是否有优势,即使应用程序的最终大小都大得多?>如果是这样,开始将应用程序分解为单独的模块的大小是多少?大型可执行文件可能具有较少的共享库,这意味着应用程序可能比使用共享库的应用程序更加占用内存.如果您希望系统具有最小的内存占用,则需要共享库.一个大的exe可能更自包含,这可能使更容易保持稳定的部署.

  10. windows-services – 使用本地系统以外的帐户配置Windows服务时,“允许服务与桌面交互”选项不可用

    我想配置Windows服务,以便允许与桌面交互,而不管它配置为运行的帐户.怎么实现呢?这是一个很好的问题!

随机推荐

  1. c# – (wpf)Application.Current.Resources vs FindResource

    所以,我正在使用C#中的WPF创建一个GUI.它看起来像这样:它现在还没有完成.这两行是我尝试制作一种数据表,它们在XAML中是硬编码的.现在,我正在C#中实现添加新的水果按钮功能.我在XAML中有以下样式来控制行的背景图像应该是什么样子:因此,在代码中,我为每列col0,col1和col2创建一个图像,如果我使用以下代码,它添加了一个如下所示的新行:如你所见,它不太正确……为什么一个似乎忽略了一些属性而另一个没有?

  2. c# – 绑定DataGridTemplateColumn

    似乎我已经打了个墙,试图在DataGrid上使用DataTemplates.我想要做的是使用一个模板来显示每个单元格的两行文本.但是似乎无法以任何方式绑定列.以下代码希望显示我想做的事情.注意每个列的绑定:模板列没有这样的东西,因此,这个xaml不可能工作.我注定要将整个DataTemplate复制到每个列,只是对每个副本都有不同的约束?解决方法我不完全确定你想要做什么,但如果您需要获取整行的DataContext,可以使用RelativeSource绑定来移动视觉树.像这样:

  3. c# – 学习设计模式的资源

    最近我来到了这个设计模式的概念,并对此感到非常热情.你能建议一些帮助我深入设计模式的资源吗?

  4. c# – 是否有支持嵌入HTML页面的跨操作系统GUI框架?

    我想开发一个桌面应用程序来使用跨系统,是否有一个GUI框架,允许我为所有3个平台编写一次代码,并具有完全可脚本化的嵌入式Web组件?我需要它有一个API来在应用程序和网页之间进行交流.我知道C#,JavaScript和一些python.解决方法Qt有这样的事情QWebView.

  5. c# – 通过字符串在对象图中查找属性

    我试图使用任意字符串访问嵌套类结构的各个部分.给出以下(设计的)类:我想要从Person对象的一个实例的“PersonsAddress.HousePhone.Number”获取对象.目前我正在使用反思来做一些简单的递归查找,但是我希望有一些忍者有更好的想法.作为参考,这里是我开发的(crappy)方法:解决方法您可以简单地使用标准的.NETDataBinder.EvalMethod,像这样:

  6. c# – 文件下载后更新页面

    FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7&displaylang=en&pf=true它呈现该页面,然后使用以下元刷新标签来实际向用户提供要下载的文件:你可能需要在你的应用程序中做类似的事情.但是,如果您真的有兴趣在文件完全下载后执行某些操作,那么您的运气不佳,因为没有任何事件可以与浏览器进行通信.执行此操作的唯一方法是上传附件时使用的AJAXupload.

  7. c# – 如何在每个机器应用程序中实现单个实例?

    我必须限制我的.net4WPF应用程序,以便每台机器只能运行一次.请注意,我说每个机器,而不是每个会话.我使用一个简单的互斥体实现单实例应用程序,直到现在,但不幸的是,这样一个互斥是每个会话.有没有办法创建机器互连,还是有其他解决方案来实现每个机器应用程序的单个实例?

  8. c# – WCF和多个主机头

    我的雇主网站有多个主机名,都是同一个服务器,我们只是显示不同的皮肤来进行品牌宣传.不幸的是,在这种情况下,WCF似乎不能很好地工作.我试过overridingthedefaulthostwithacustomhostfactory.这不是一个可以接受的解决方案,因为它需要从所有主机工作,而不仅仅是1.我也看过thisblogpost,但是我无法让它工作,或者不是为了解决我的问题.我得到的错误是“这

  9. c# – ASP.NET MVC模型绑定与表单元素名称中的虚线

    我一直在搜索互联网,试图找到一种方式来容纳我的表单元素的破折号到ASP.NET的控制器在MVC2,3或甚至4中的默认模型绑定行为.作为一名前端开发人员,我更喜欢在我的CSS中使用camelCase或下划线进行破折号.在我的标记中,我想要做的是这样的:在控制器中,我会传入一个C#对象,看起来像这样:有没有办法通过一些正则表达式或其他行为来扩展Controller类来适应这种情况?我讨厌这样的事实,我必须这样做:甚至这个:思考?

  10. c# – 用户界面设计工具

    我正在寻找一个用户界面设计工具来显示文档中可能的GUI.我不能生成代码.我知道MicrosoftVisio提供了一个功能.但有什么办法吗?您使用哪种软件可视化GUI?

返回
顶部