如何嵌入app.config并对其Web服务端点进行硬编码?

时间:2019-01-19 18:58:38

标签: c# visual-studio-2017

我真的不知道绑定在app.config中的作用是什么,但是我知道我只需要一个独立的.exe文件。我如何在我的exe文件中嵌入该文件,或者如何在不使用app.config的情况下对整个内容进行硬编码。 我有一个小型Web服务,该服务返回一个字符串值。 我的app.config文件内容如下:

`

<configuration>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="APIServiceSoap" />
      </basicHttpBinding>
      <customBinding>
        <binding name="APIServiceSoap12">
          <textMessageEncoding messageVersion="Soap12" />
          <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    <client>
      <endpoint address="http://www.example.com/APIService.asmx"
          binding="customBinding" bindingConfiguration="APIServiceSoap12"
          contract="MyWebAPI.APIServiceSoap" name="APIServiceSoap12" />
    </client>
  </system.serviceModel>
</configuration>`

mu代码开始如下: MyWebAPI.APIServiceSoapClient client = new MyWebAPI.APIServiceSoapClient(); 任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:0)

因为您要使用ASMX而不是WCF来调用SOAP 1.2 Web服务,所以事情变得有些复杂了,执行此操作的方法可能很多种,但我使用的是:

TextMessageEncodingBindingElement tmebe = new TextMessageEncodingBindingElement();
tmebe.MessageVersion = MessageVersion.Soap12;

TransportBindingElement tbe = new HttpTransportBindingElement();

CustomBinding binding = new CustomBinding(new BindingElement[] { tmebe, tbe });

EndpointAddress endpointAddress = new EndpointAddress("http://localhost/TestWebService/WebService1.asmx");
using (WebService1SoapClient client = new WebService1SoapClient(binding, endpointAddress))
{
    String result = client.HelloWorld();
    Debug.WriteLine(result);
}