我在VS2010项目中添加了对SOAP服务的引用。我有一个表格,用于注册新闻通讯的用户。为了使此表单正常工作,我必须编辑SharePoint服务器的web.config并添加SOAP绑定。如果我不这样做,然后将其添加到项目的app.config中,则服务器将显示错误消息:


  在ServiceModel客户端配置部分中找不到引用合同'contractAPI.Soap'的默认终结点元素。


如何绕过web.config并使用app.config来配置SOAP服务或使用C#以编程方式进行设置?

最佳答案

您可以这样在代码中设置绑定:

internal static WServiceSoapClient CreateWebServiceInstance()
{
    BasicHttpBinding binding = new BasicHttpBinding();
    binding.SendTimeout = TimeSpan.FromMinutes(1);
    binding.OpenTimeout = TimeSpan.FromMinutes(1);
    binding.CloseTimeout = TimeSpan.FromMinutes(1);
    binding.ReceiveTimeout = TimeSpan.FromMinutes(10);
    binding.AllowCookies = false;
    binding.BypassProxyOnLocal = false;
    binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
    binding.MessageEncoding = WSMessageEncoding.Text;
    binding.TextEncoding = System.Text.Encoding.UTF8;
    binding.TransferMode = TransferMode.Buffered;
    binding.UseDefaultWebProxy = true;
    return new WServiceSoapClient(binding, new EndpointAddress("http://yourservice.com/service.asmx"));
}

关于c# - SharePoint 2010-使用SOAP Web服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9070339/

10-08 21:56
查看更多