我必须在我的项目中手动配置 ServiceReference,因为我的项目使用辅助配置文件,并且我在尝试从该文件中读取时遇到了很多问题。我可以通过在我的客户端上手动定义一个 basicHttpBinding 实例来使事情正常工作,如下所示:
var binding = new BasicHttpBinding
{
Name = "something",
CloseTimeout = new TimeSpan(0, 1, 0),
OpenTimeout = new TimeSpan(0, 1, 0),
ReceiveTimeout = new TimeSpan(0, 10, 0),
SendTimeout = new TimeSpan(0, 1, 0),
AllowCookies = false,
//and so on...
};
但是,我无法通过浏览器对我的 Web 服务进行测试调用,除非我将服务器端绑定更改为 webHttpBinding。使用 webHttpBinding,对我的服务的浏览器请求会按预期返回序列化数据。但是,来自我的客户的请求失败了,因为他们使用的是 basicHttpBinding。
如何定义 WebHttpBinding 对象而不是 BasicHttpBinding 对象?我找不到构造函数,即使 MSDN 中列出了一个。