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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何嵌入app.config并硬编码其Web服务端点?相关的知识,希望对你有一定的参考价值。

我真的不知道绑定在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();任何形式的帮助都会受到赞赏。谢谢!

答案

因为您使用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);
}

以上是关于如何嵌入app.config并硬编码其Web服务端点?的主要内容,如果未能解决你的问题,请参考以下文章

用java编写的web服务器端如何响应嵌入JPEG 文件的HTML页面

如何在没有任何app.config的情况下访问dll中webservice的Web方法?

从.Net到vb6的Web服务的DLL - 如何设置app.config

从类库调用 WCF 服务:App.Config 与 Web.Config?

C# Windows 服务 - 从 ini 或 App.config 文件中读取

在不依赖 app.config 的情况下使用 SOAP Web 服务