如何在安装时为 WCF-Webservice 获取正确的 ServiceReference 及其端点地址
How to get the correct ServiceReference and its endpoint-address for a WCF-Webservice on installation
我在安装我的项目时遇到问题。它由三部分组成,客户端 WindowsForms 应用程序、WCF-Web 服务和数据库 (SQLExpress atm)。
目前,客户端和 Webservice 之间连接所需的端点地址和服务引用被硬编码到 WindowsForms 项目的 app.config 中,引用 Webservice 同一网络中的特定计算机运行 是这样的:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IWemosService" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://ent-ga-04:8733/Design_Time_Addresses/WcfServiceWemos/WemosService/"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWemosService"
contract="ServiceReferenceWemos.IWemosService" name="BasicHttpBinding_IWemosService" />
</client>
</system.serviceModel>
</configuration>
但是,在不同的设备上安装客户端和 Web 服务后,我当然必须更改这些值,以匹配新的设备和连接。我只是不知道该怎么做。你能帮帮我吗?
好的,我自己找到了答案。每个 C# 项目都带有一个 appconfig,在最终版本中,它被命名为 [projectname].exe.config。里面的文本格式类似于 xml,因此您可以读取、写入和更改其内容。这样,您可以更改端点、引用名称等。
我在安装我的项目时遇到问题。它由三部分组成,客户端 WindowsForms 应用程序、WCF-Web 服务和数据库 (SQLExpress atm)。
目前,客户端和 Webservice 之间连接所需的端点地址和服务引用被硬编码到 WindowsForms 项目的 app.config 中,引用 Webservice 同一网络中的特定计算机运行 是这样的:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IWemosService" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://ent-ga-04:8733/Design_Time_Addresses/WcfServiceWemos/WemosService/"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWemosService"
contract="ServiceReferenceWemos.IWemosService" name="BasicHttpBinding_IWemosService" />
</client>
</system.serviceModel>
</configuration>
但是,在不同的设备上安装客户端和 Web 服务后,我当然必须更改这些值,以匹配新的设备和连接。我只是不知道该怎么做。你能帮帮我吗?
好的,我自己找到了答案。每个 C# 项目都带有一个 appconfig,在最终版本中,它被命名为 [projectname].exe.config。里面的文本格式类似于 xml,因此您可以读取、写入和更改其内容。这样,您可以更改端点、引用名称等。