以编程方式创建一个安全的web http rest服务

本文关键字:安全 web http 服务 rest 一个 方式 编程 创建 | 更新日期: 2023-09-27 17:58:01

我想在自主机环境中,即在控制台应用程序中,以编程方式创建一个安全的webhttp REST服务,但我找不到任何允许我这样做的教程。

然而,我使用WCF服务库项目创建了安全的webhttp rest服务,没有任何C#代码。我使用netsh命令插入我制作的证书,并适当地更新了我的配置。

有人能提出建议吗?

以编程方式创建一个安全的web http rest服务

只是一个快速更新,我让它工作了,但到目前为止只有http端。

这是我的服务端代码:

 WebServiceHost serviceHost = new WebServiceHost(typeof(ProductServiceTest), new  Uri("http://localhost:9000/"));
        WebHttpBinding webHttpBinding = new WebHttpBinding();
        webHttpBinding.MaxReceivedMessageSize = 65536 * 2;
        webHttpBinding.MaxBufferPoolSize=2147483647L; 
        webHttpBinding.MaxBufferSize=2147483647;
        webHttpBinding.MaxReceivedMessageSize = 2147483647L;
        serviceHost.AddServiceEndpoint(typeof(IProductServiceTest), webHttpBinding, "");

        // Check to see if the service host already has a ServiceMetadataBehavior
        ServiceMetadataBehavior smb = serviceHost.Description.Behaviors.Find<ServiceMetadataBehavior>();
        // If not, add one
        if (smb == null)
            smb = new ServiceMetadataBehavior();
        smb.HttpGetEnabled = true;
        serviceHost.Description.Behaviors.Add(smb);
        serviceHost.Open();
        Console.WriteLine("Press <ENTER> to terminate the service host");
        Console.ReadLine();
        serviceHost.Close();

我为客户端创建了一个控制台应用程序,并通过这样做让我的客户端工作:

ChannelFactory<IProductServiceTest> cf = new ChannelFactory<IProductServiceTest>(new WebHttpBinding(), "http://localhost:9000");
        cf.Endpoint.Behaviors.Add(new WebHttpBehavior());
        IProductServiceTest channel = cf.CreateChannel();
        var test = channel.GetProductData("8");
        Console.WriteLine(test.ProductDescription);
        Console.Read();