NServiceBus主机

为了避免重写代码相同的配置,或举办你的端点在Windows服务中,使用 NServiceBus.Host.exe,这也可以作为一个控制台运行。

NServiceBus主机简化服务的开发和部署,没有代码,允许你改变技术和administrator-friendly当设置权限和账户。

使用主机就创建一个新的c#类库和引用NServiceBus。主机NuGet包

install-package NServiceBus.Host

就这样,计划将创建一个示例NServiceBus.Host端点配置和设置。exe运行您的端点。

配置您的端点

NServiceBus.Host.exe扫描运行时目录组件包含一个实现类 IConfigureThisEndpoint接口。这个类将包含此端点配置。你可以阅读更多关于NServiceBus如何组装扫描在这里

如果你想避免扫描过程您可以显式配置端点配置的类型通过添加以下的 NServiceBus.Host.exe.config文件。下面的示例显示准确的语法:

  • v5

    编辑

    <configuration>
      <appSettings>
        <add key="EndpointConfigurationType"
             value="YourNamespace.YourTypeName, YourAssembly"/>
      </appSettings>
    </configuration>
    

    自定义初始化和创业

    NServiceBus v5你自定义端点使用行为 IConfigureThisEndpoint.Customize方法在您的端点配置类。就调用适当的方法 BusConfiguration参数传递给方法。

  • v5

    编辑

    using NServiceBus;
    class CustomizingHost : IConfigureThisEndpoint
    {
        public void Customize(BusConfiguration configuration)
        {
            // To customize, use the configuration parameter.
            // For example, to customize the endpoint name:
            configuration.EndpointName("NewEndpointName");
        }
    }
    
    NServiceBus v4和v3

    改变组装等核心设置扫描、容器和序列化格式,实现 IWantCustomInitialization在端点配置类(同一个类实现IConfigureThisEndpoint)。你???须开始配置表达式 With

    Configure.With()
    

    不执行任何启动的行为 Init方法。

    自定义initalization后做了常规的核心 INeedInitalization实现发现将以同样的方式,当你自我托管。

    推迟所有的创业行为,直到所有初始化已经完成。在这一点上,NServiceBus调用的类实现IWantToRunWhenBusStartsAndStops (IWantToRunWhenTheBusStarts在v3 . x)接口。行为适用于实现的一个例子IWantToRunWhenBusStartsAndStops (IWantToRunWhenTheBusStarts在v3 . x)的主要形式在一个Windows窗体应用程序。在Windows服务,后端实现类 IWantToRunWhenBusStartsAndStops(IWantToRunWhenTheBusStarts在v3 . x)应??启动诸如web爬行,数据挖掘和批处理过程。

    日志记录

    NServiceBus v5日志的主机使用相同的API为核心的控制。这是记录在这里.

    您可以添加日志API调用上述所直接在您的实现 IConfigureThisEndoint.Customize方法。

    NServiceBus v4和v3

    更改主机的日志记录基础设施,实现 IWantCustomLogging接口。在 Init方法,配置您的自定义设置。NServiceBus利用你的日志,使用 NServiceBus.SetLoggingLibrary.Log4Net()API,所描述的日志文档,如下所示:

  • V4

    编辑

    class MyEndpointConfig : IConfigureThisEndpoint, IWantCustomLogging
    {
        public void Init()
        {
            // setup your logging infrastructure then call
            SetLoggingLibrary.Log4Net(null, new MyLogger());
        }
    }
    

    你可能想要指定不同的日志级别(DEBUG, WARN等)和不同的目标 (CONSOLE, FILE等)。主机提供一个机制来改变这些排列没有代码或配置更改,通过配置文件 .

    角色——内置配置

    版本5的角色被弃用,不应该被使用。大部分的功能 AsA_Server, AsA_Publisher核心已经违约,可以安全地删除。如果你还需要 AsA_Client请添加以下您的配置行为。

  • v5

    编辑

    var config = new BusConfiguration();
    
    config.PurgeOnStartup(true);
    config.Transactions().Disable();
    config.DisableFeature<SecondLevelRetries>();
    config.DisableFeature<StorageDrivenPublishing>();
    config.DisableFeature<TimeoutManager>();
    
    NServiceBus v4和v3

    剩下的代码指定运输、订阅存储,和其他技术并不在这里,因为 AsA_Server内置的配置描述。

    虽然NServiceBus允许您选择使用哪一个技术和如何配置它们,这些选择主机包分成三个内置选项: AsA_Client,AsA_Server, AsA_Publisher。利用所有这些选项 XmlSerializer, MsmqTransport, UnicastBus。不同的是在配置:

    • AsA_Client MsmqTransport非事务性和清洗的队列上的消息启动。这意味着它每次都重新开始,不记得任何事情之前崩溃。同时,它处理消息使用自己的权限,而不是消息的发送者。
    • AsA_Server MsmqTransport事务和在启动时不清除队列的消息。这使得它容错。
    • AsA_Publisher扩展 AsA_Server和指示设施设置存储订阅请求,描述的简介页面.

    安装

    当端点的上下文中运行Visual Studio调试器中,端点开始时,需要在启动时创建队列来促进发展。然而,当这个端点部署到服务器,开始从命令提示符端点不会创造所需的队列,如果队列不存在。创建队列是一次性的成本只会发生在安装期间。

    安装过程作为一个Windows服务,您需要通过 /install在命令行上的主机。默认情况下,服务的名称是您的端点和端点的名称叫端点配置类的命名空间。要启用并行操作,使用 /sideBySide切换到SemVer版本添加到服务名称。通过/安装也会造成主机调用安装程序 .

    为安装覆盖这个和指定附加的细节:

    NServiceBus.Host.exe [/install [/serviceName]
    [/displayName]
    [/description]
    [/endpointConfigurationType]
    [/endpointName]
    [/installInfrastructure]
    [/scannedAssemblies]
    [/dependsOn]
    [/sideBySide]
    [/startManually]
    [/username]
    [/password]]
    [/uninstall [/serviceName]
    [/sidebyside]
    [/instance:Instance Name ]
    

    你可以通过运行下面这个列表在命令行:

    NServiceBus.Host.exe /?
    

    设置Windows服务注册中心的实际名称,指定 /serviceName:YourServiceName。这是不同于你所看到的在Windows服务经理。

    设置Windows服务的名称作为你看到它在Windows服务经理,指定 /displayName:YourService.

    如果你不指定 /displayName,但指定 /serviceName,显示名称不成为中传递 /serviceName,而是上述违约。

    设置描述Windows服务经理所示,指定 /description:DescriptionOfYourService.

    安装相同服务的多个实例,提供每一个不同的实例名,使用“实例”的旗帜。例如: /instance:Instance5.

    默认情况下,窗口服务操作系统启动时自动启动。改变,添加 /startManually /install命令。

    指定的帐户你想要你的服务,通过该帐户的用户名和密码。

    下面的一个例子 /install命令行:

    NServiceBus.Host.exe /install /serviceName:"MyPublisher"
    /displayName:"My Publisher Service"
    /description:"Service for publishing event messages"
    /endpointConfigurationType:"YourNameSpace.YourEndpointConfigType, YourAssembly"
    /username:"corp\serviceuser"
    /password:"[email protected]!" NServiceBus.Production
    

    卸载,叫

    NServiceBus.Host.exe /uninstall
    

    如果你指定一个服务名称或实例名称安装您的服务时,您需要将它们传递到卸载命令:

    NServiceBus.Host.exe [/uninstall  [/serviceName] [/instance]]
    

    例如:

    NServiceBus.Host.exe /uninstall /serviceName:YourServiceName /instance:YourInstanceName
    

    调用基础设施安装、运行的主机 /installInfrastructure开关。了解安装程序。

  • 时间: 2025-01-02 14:46:26

    NServiceBus主机的相关文章

    NServiceBus主机概要文件

    移动系统可靠地从开发到测试到生产是任何开发组织的核心能力. 手动配置和代码更改使这个过程出错,让版本控制系统的一个噩梦. NServiceBus主机提供了设施的资料专门来缓解这一过程并提供结构时,版本控制系统的配置.读到的主机. 配置困难 开始NServiceBus发展并不总是一件容易的事情.有许多配置选项级别的日志记录.技术用于存储用户,和类型的事件存储(等等).通常情况下,你想要一个合适的所有这些选项的组合,只要以后你可以改变它.资料给你这种灵活性. NServiceBus附带三个配置文件的

    nservicebus教程-目录

    表的内容 开始 坚持NServiceBus 扩展 每天 举办 管理和监控 发布订阅 长时间运行的流程 定制 版本控制 常见问题解答 样品 开始 概述 NServiceBus一步一步向导 架构原则 事务消息处理 NServiceBus和WCF NServiceBus和WebSphere声波 NServiceBus和BizTalk 可靠的消息传递没有MSDTC 坚持NServiceBus 坚持NServiceBus 在NServiceBus安装使用RavenDB 在NServiceBus连接使用Ra

    发布/订阅是如何工作的

    既然已经看到了发布/订阅的行动,让我们来看看在窗帘后面,看看发生了什么. 如果你还没有见过的发布/订阅样本然而花一分钟穿过或开始使用NServiceBus创建一个新项目. 最主要的理解是这样的:用户让出版商知道他们感兴趣,和出版商商店的地址,这样就知道发送的消息.很简单,一旦你知道了它是如何运作的. 在我们开始之前-- 对发布/订阅消息传递的一个常见的假设是,它涉及到物理一对多沟通.唯一的问题是,在物理层面pub / sub并不有趣.在发布时它变成有价值的逻辑事件从一个逻辑区域责任其他逻辑感兴趣

    NServiceBus 32位(x86)主机进程

    NServiceBus是一个"任何CPU"框架.它没有32位或64位的具体代码.这使得它很容易过渡之间的32位和64位操作系统.不幸的是,并不是所有的组件都可以使用默认编译任何CPU体系结构.在许多,如果不是大多数情况下,这是与遗留系统,32位平台特定的代码与本机C库的互操作性,等等. 使用默认NServiceBus.主机应用程序总是在64位(x64)模式加载如果您正在运行在64位操作系统,或者在32位(x86)模式为一个32位的操作系统.同样,这通常不是一个问题. 但如果组件或其他库

    NServiceBus教程-消息传递与处理

    nservicebus"的容错默认"设计的一部分,基础设施管理事务自动所以你不需要记住所有的线程和状态管理要素配置. 客户端和服务器 理想情况下,服务器代码处理消息事务,但它往往不是客户所需,特别是桌面应用程序.这是一个之间的差异asa_client和asa_server设置的通用主机在nservicebus. 指定交易代码 如果你不使用通用的主机,您可以指定当前端点应处理消息事务设置istransactional(真的).后msmqtransport().(版本3)或usetrans

    Nagios利用NSClient++监控Windows主机

    一.简介 1.获取更多的NSClient原理,请参考NSClient++官方站点 NSClient++官网:http://www.nsclient.org/ 2.NSClient++与NRPE NSClient++的工作原理 NRPE的工作原理 Nagios对Windows主机的监控主要有三种方法 第一种是NSclient++ 第二种是NRPE 第三种是SNMP(不是很常用) NSclient++与nrpe最大的区别就是: 1.被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行

    EVE-NG桥接至VMWare主机

    打开vmare的"虚拟网络编辑器",如下图增加两个虚拟网络,VMnet2 为NAT模式,用于EVE-NG的管理网卡:VMnet8为Host主机,用于桥接至EVE-NG网络:当然网卡的名称以IP都可以自行定义,看个人的习惯 2. EVE-NG虚拟机网卡以及主机信息如下图.此EVE-NG虚拟机以IOS方案安装,当然也可以OVA模板导       入:具体安装方法参考官网或是百度 3. 修改EVE-NG网卡信息,vi /etc/network/interfaces如下图,当然可以根据个人爱好

    一个简单的主机管理模拟程序

    最近写的一个小练习,主要是把前面学的东西整合一下.写了一个简单的主机管理界面,主要是练习以下知识点: Session和Cookie进行登录验证(装饰器) 数据库的基本操作 (单表,1对多,多对多) Form的简单使用实现验证 Bootstrap模板写个简单界面 自定义分页 信号,中间件,CSRF,模板语言,JavaScript,AJAX等等 界面比较low,毕竟不是专业的. 附件里面是Django的源代码,3个文件放在一起winrar解压就可以打开

    浪潮服务器向集群中添加esxi主机

    软件环境:esxi6.0  vcenter6.0 硬件:浪潮服务器 hba卡 浪潮存储 博科san 要求:向目前集群中添加一台esxi主机 步骤:安装esxi6.0,配置bmc和网卡,光纤连接hba卡,注意:光纤方向,hba中发光的接到san不发光的口. 配置san交换机 配置浪潮存储 esxi中识别存储添加OK!