这将是一个奇怪的问题,但是:
我目前正在我的网站上运行 wcf 服务(在 Visual Studio 2012 中制作 - .scv 文件)。除了内置的 wcf 测试客户端之外,我还有一个控制台客户端,我尝试使用它来测试连接。测试客户端运行良好,我可以调用这些功能,但是当我停止运行站点/测试客户端(这应该是扩展主机,对吗?)时,我的控制台客户端仍然可以运行并与服务对话美好的。
我还可以访问不在浏览器中运行的 WCF 服务页面。当我在控制台中创建 WCF 时,当主机实际上并未运行时,我无法执行任何这些操作。因此,我想知道我没有看到的代码是否有问题。
当我尝试在服务器上使网站联机时,我可能会看到这发展成一个问题(因为我的测试客户端不会与服务位于同一台机器上。我假设这是因为我可以访问文件,即使它没有运行)。
我该怎么办/出了什么问题?
感谢您的时间。
相关的 web.config 代码:
<system.serviceModel>
<services>
<!-- ICanHasGamez=solution that holds the webpage&wcfservice -->
<service name="ICanHasGamez.APIHost" behaviorConfiguration="behavior">
<endpoint address="" binding="basicHttpBinding" contract="ICanHasGamez.IAPIHost">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name ="behavior">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
</system.serviceModel>
来自控制台客户端的 app.config 代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IAPIHost" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:2105/APIHost.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IAPIHost" contract="ServiceReference1.IAPIHost"
name="BasicHttpBinding_IAPIHost" />
</client>
</system.serviceModel>
</configuration>