在调试Web服务问题时(客户端是在c#下开发的Windows桌面应用程序,消耗Web服务),我遇到了以下情况。 构建发行文件的PC上的Application.exe.config文件在启动时由应用程序读取,每当我将目录复制到另一台PC(某些PC而不是全部)时,配置文件就不再被读取。 通过模拟以下场景,我能够得出后一个结论。 列出了App.exe.Config文件:
<?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="WebServiceSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:6608/WS_POSsync.asmx" binding="basicHttpBinding"
bindingConfiguration="WebServiceSoap" contract="ServiceReference1.WebServiceSoap"
name="WebServiceSoap1" />
</client>
</system.serviceModel>
</configuration>
当我弄乱这个文件时(通过在开头添加一些单词,从而使XML不一致,应用程序抛出异常,因此它似乎正在尝试获取文件。 当我在另一台PC上部署相同的文件夹,并重复相同的场景时,可执行文件似乎正常运行。
对此事的任何澄清表示赞赏。
答案 0 :(得分:0)
该问题与任何配置问题无关,我发现客户端PC感染了一个特洛伊木马程序,该木马程序在复制文件时会更改原始文件名。通过终止特洛伊木马(Dibifu_9)进程并粘贴文件,问题就解决了。