没有配置文件的主机WCF服务

莫里西奈

我想托管WCF服务,但我不想使用app.config文件,但与此类似:

// 2nd Procedure:
// Use the binding in a service
// Create the Type instances for later use and the URI for 
// the base address.
Type contractType = typeof(ICalculator);
Type serviceType = typeof(Calculator);
Uri baseAddress = new Uri("http://localhost:8036/SecuritySamples/");

// Create the ServiceHost and add an endpoint, then start
// the service.
ServiceHost myServiceHost = new ServiceHost(serviceType, baseAddress);
myServiceHost.AddServiceEndpoint(contractType, myBinding, "secureCalculator");

//enable metadata
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
myServiceHost.Description.Behaviors.Add(smb);

myServiceHost.Open();

之后,我想添加Windows服务项目并托管我的服务。

我应该使用哪个项目?我不想要控制台或Winforms,我只想要Windows服务

我检查了Windows Service project,我有这个主要的:

static void Main()
{
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] 
    { 
        new Service1() 
    };
    ServiceBase.Run(ServicesToRun);
}

服务代码应该放在哪里?

斯科特·张伯伦

您可以将第一个代码块中的代码放入的OnStart函数中Service1

private _myServiceHost;

protected override void OnStart(string[] args)
{
    if(_myServiceHost != null)
    {
        //Close the connection if the service was already opened.
        _myServiceHost.Close();
    }

    // 2nd Procedure:
    // Use the binding in a service
    // Create the Type instances for later use and the URI for 
    // the base address.
    Type contractType = typeof(ICalculator);
    Type serviceType = typeof(Calculator);
    Uri baseAddress = new Uri("http://localhost:8036/SecuritySamples/");

    // Create the ServiceHost and add an endpoint, then start
    // the service.
    _myServiceHost = new ServiceHost(serviceType, baseAddress);
    _myServiceHost.AddServiceEndpoint(contractType, myBinding, "secureCalculator");

    //enable metadata
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;
    _myServiceHost.Description.Behaviors.Add(smb);

    _myServiceHost.Open();
}

//Adding a close on OnStop gives you a more graceful shutdown of your service, letting clients finish the work they are currently on
protected override void OnStop()
{
    if(_myServiceHost != null)
    {
        _myServiceHost.Close();
        _myServiceHost = null;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

没有配置文件的休眠配置

来自分类Dev

WCF服务代理不会从配置文件刷新绑定设置

来自分类Dev

发布没有配置文件的构建

来自分类Dev

没有配置文件的sshfs LocalForward

来自分类Dev

CUPS没有配置文件

来自分类Dev

没有木板配置文件

来自分类Dev

“用户配置文件服务无法登录”错误。没有解决方案

来自分类Dev

弹簧配置文件激活,其中一些没有配置文件的bean

来自分类Dev

无论如何要在没有显示的服务器上创建新的 Firefox 配置文件?(Ubuntu 18.04)

来自分类Dev

清除Nginx并没有删除配置文件

来自分类Dev

实体框架6没有配置文件?

来自分类Dev

实体框架6没有配置文件?

来自分类Dev

在jar中没有配置文件的Java jar创建

来自分类Dev

Powershell配置文件中的功能没有显示?

来自分类Dev

EVGA Precision X没有自动配置文件管理

来自分类Dev

清除Nginx并没有删除配置文件

来自分类Dev

CKEditor的配置文件没有任何影响

来自分类Dev

iOS 开发 - 没有设备的配置文件

来自分类Dev

主机未从配置文件加载

来自分类Dev

通过Boto配置文件设置主机

来自分类Dev

WCF配置文件对ACL的保护

来自分类Dev

WCF channelfactory与配置文件中的设置?

来自分类Dev

以编程方式从wcf配置文件中的单独服务中获取baseAddresses的值

来自分类Dev

没有具有有效签名身份的配置文件。找不到匹配的配置文件,xcode,ios

来自分类Dev

如何在Ubuntu 14.04上启动lxc容器而没有“不使用配置文件执行'/ sbin / init'可能会使主机崩溃”错误

来自分类Dev

导入配置文件VS选择现有配置文件-在Azure应用服务中进行部署

来自分类Dev

UNIX服务器上的用户配置文件和bash配置文件有什么区别

来自分类Dev

为具有相同主机名的不同实验室设置SSH配置文件

来自分类Dev

Spring配置文件注入:不要在没有配置文件的情况下注入类

Related 相关文章

  1. 1

    没有配置文件的休眠配置

  2. 2

    WCF服务代理不会从配置文件刷新绑定设置

  3. 3

    发布没有配置文件的构建

  4. 4

    没有配置文件的sshfs LocalForward

  5. 5

    CUPS没有配置文件

  6. 6

    没有木板配置文件

  7. 7

    “用户配置文件服务无法登录”错误。没有解决方案

  8. 8

    弹簧配置文件激活,其中一些没有配置文件的bean

  9. 9

    无论如何要在没有显示的服务器上创建新的 Firefox 配置文件?(Ubuntu 18.04)

  10. 10

    清除Nginx并没有删除配置文件

  11. 11

    实体框架6没有配置文件?

  12. 12

    实体框架6没有配置文件?

  13. 13

    在jar中没有配置文件的Java jar创建

  14. 14

    Powershell配置文件中的功能没有显示?

  15. 15

    EVGA Precision X没有自动配置文件管理

  16. 16

    清除Nginx并没有删除配置文件

  17. 17

    CKEditor的配置文件没有任何影响

  18. 18

    iOS 开发 - 没有设备的配置文件

  19. 19

    主机未从配置文件加载

  20. 20

    通过Boto配置文件设置主机

  21. 21

    WCF配置文件对ACL的保护

  22. 22

    WCF channelfactory与配置文件中的设置?

  23. 23

    以编程方式从wcf配置文件中的单独服务中获取baseAddresses的值

  24. 24

    没有具有有效签名身份的配置文件。找不到匹配的配置文件,xcode,ios

  25. 25

    如何在Ubuntu 14.04上启动lxc容器而没有“不使用配置文件执行'/ sbin / init'可能会使主机崩溃”错误

  26. 26

    导入配置文件VS选择现有配置文件-在Azure应用服务中进行部署

  27. 27

    UNIX服务器上的用户配置文件和bash配置文件有什么区别

  28. 28

    为具有相同主机名的不同实验室设置SSH配置文件

  29. 29

    Spring配置文件注入:不要在没有配置文件的情况下注入类

热门标签

归档