我正在处理一本处理WCF的REST服务书。我一直在关注这些示例,并重申WCF的配置似乎很难掌握。我在下面有一段代码,配置并打开一个端点。我知道这是一个老派的3.0方式来完成这个RESTful任务,但我想知道如何在应用程序配置中设置它而不是任何想法?也有人知道任何以合理的方式分解代码/配置中的WCF配置的站点吗?我一直在寻找的大多数地方只显示具体的例子。
CustomBinding b = new CustomBinding();
TextMessageEncodingBindingElement msgEncoder = new TextMessageEncodingBindingElement();
msgEncoder.MessageVersion = MessageVersion.None;
b.Elements.Add(msgEncoder);
HttpTransportBindingElement http = new HttpTransportBindingElement();
b.Elements.Add(http);
ServiceHost sh = new ServiceHost(typeof(SimpleHTTPService));
ServiceEndpoint se = sh.AddServiceEndpoint(typeof(SimpleHTTPService),
b,
"http://localhost:8889/TestHttp");
sh.Open();
答案 0 :(得分:1)
如果要在config中定义该端点,它将类似于下面的配置。请注意,这还不足以模拟3.0中的REST编程模型(请记住,这仅设置绑定;在3.5及更高版本上,您只需要设置行为)
<system.serviceModel>
<bindings>
<customBinding>
<binding name="OldStylePox">
<textMessageEncoding messageVersion="None" />
<httpTransport />
</binding>
</customBinding>
</bindings>
<services>
<service name="USE_THE_FULLY_QUALIFIED_NAME_OF_SimpleHttpService">
<endpoint address="http://localhost:8889/TestHttp"
binding="customBinding"
bindingConfiguration="OldStylePox"
contract="USE_THE_FULLY_QUALIFIED_NAME_OF_SimpleHttpService" />
</service>
</services>
<system.serviceModel>