我正在尝试创建一个 WCF 客户端来将 XML 消息发送到 CGI 脚本。该脚本以请求-响应模式运行,其中 XML 消息的内容将确定要调用的操作。
我首先创建了一个服务合同来表示 CGI 脚本将接受的已定义文档集:
[ServiceContract]
public interface ICgiService
{
[OperationContract(Name="request1")]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Bare)]
ServiceResponse SubmitRequest(Request1 request);
[OperationContract(Name="request2")]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Bare)]
ServiceResponse SubmitRequest(Request2 request);
[OperationContract(Name="request3")]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Bare)]
ServiceResponse SubmitRequest(Request3 request);
}
我已经从这个接口生成了一个代理客户端,并将端点配置为 CGI 脚本的地址并使用 HTTP 传输。
发出请求时,WCF 运行时的默认行为是将操作名称附加到端点地址以生成 URI http://server/script.cgi/request1
。
如何修改此行为,以便将所有请求发送到端点地址而不更改 URI(例如http://server/script.cgi
)?