以编程方式创建一个安全的web http rest服务
本文关键字:安全 web http 服务 rest 一个 方式 编程 创建 | 更新日期: 2023-09-27 17:58:01
我想在自主机环境中,即在控制台应用程序中,以编程方式创建一个安全的webhttp REST服务,但我找不到任何允许我这样做的教程。
然而,我使用WCF服务库项目创建了安全的webhttp rest服务,没有任何C#代码。我使用netsh命令插入我制作的证书,并适当地更新了我的配置。
有人能提出建议吗?
只是一个快速更新,我让它工作了,但到目前为止只有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();