我在Windows 10上运行,使用VS2015 Enterprise和IIS Express 10.我有一组现有的WCF服务,可以在开发笔记本电脑上使用这些部分运行。我在开发工作站上安装了这些相同的组件,但它们不起作用。所有代码都从TFS 2015中提取,因此代码和解决方案的IIS Express配置文件在两台计算机上都是相同的。我还比较了My Documents下的IIS Express配置,它们在两台机器上都是相同的。对于WCF服务绑定,web.config设置为HTTP而不是TCP / IP。
当我使用Internet Explorer或WCF测试客户端启动WCF服务时,会发送响应但未收到任何回复。我用Fiddler确认请求已发送,但没有回复。浏览器超时需要一个多小时。我使用了netsh,两台机器上显示的条目是相同的,除了在工作站上ESTABLISHED状态在浏览器等待响应时保持不变。
我完全不知道问题出在哪里。我在工作站上注意到的唯一行为是“导航已取消”在“等待本地主机...”出现之前短暂闪烁。
欢迎提出任何建议
来自其中一个WCF项目文件的Spinet
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{49AD9EC1-BCCD-439B-BF2D-3DD23FA515AE}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PCXWcfPartyService</RootNamespace>
<AssemblyName>PCXWcfPartyService</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<WcfConfigValidationEnabled>True</WcfConfigValidationEnabled>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<UseGlobalApplicationHostFile />
</PropertyGroup>
Snipt来自.vs IIS Express applicationhost.config:
<site name="PCXWcfPartyService" id="13">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\Development\PCXMain\PCXWcfServices\PCXWcfPartyService" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:54024:localhost" />
</bindings>
</site>
来自web.config的Snipet:
<system.serviceModel>
<bindings>
<customBinding>
<binding name="DefaultBinding" sendTimeout="00:02:00" closeTimeout="00:02:00" openTimeout="00:02:00">
<binaryMessageEncoding/>
<httpTransport transferMode="Buffered"/>
</binding>
<binding name="PCXCommonBinding" sendTimeout="00:02:00" closeTimeout="00:02:00" openTimeout="00:02:00">
<binaryMessageEncoding/>
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
</binding>
<binding name="PCXCommonTCPBinding" sendTimeout="00:02:00" closeTimeout="00:02:00" openTimeout="00:02:00">
<binaryMessageEncoding/>
<tcpTransport transferMode="Buffered" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
<connectionPoolSettings leaseTimeout="00:05:00"/>
</tcpTransport>
</binding>
<binding name="PCXCommonNPBinding">
<binaryMessageEncoding/>
<namedPipeTransport transferMode="Buffered" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
</binding>
<binding name="PCXApplicationServiceBinding" receiveTimeout="00:1:00" sendTimeout="00:1:00">
<binaryMessageEncoding>
<readerQuotas maxDepth="32" maxStringContentLength="10485760" maxArrayLength="10485760" maxBytesPerRead="4096" maxNameTableCharCount="10485760"/>
</binaryMessageEncoding>
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647"/>
</binding>
<binding name="PCXApplicationServiceTCPBinding" sendTimeout="00:02:00" closeTimeout="00:02:00" openTimeout="00:02:00">
<binaryMessageEncoding>
<readerQuotas maxDepth="32" maxStringContentLength="10485760" maxArrayLength="10485760" maxBytesPerRead="4096" maxNameTableCharCount="10485760"/>
</binaryMessageEncoding>
<tcpTransport transferMode="Buffered" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
<connectionPoolSettings leaseTimeout="00:05:00"/>
</tcpTransport>
</binding>
</customBinding>
</bindings>
<services>
<service behaviorConfiguration="DefaultBehavior" name="PCXWcfPartyService.PCXPartyService">
<endpoint address="" binding="customBinding" bindingConfiguration="PCXCommonBinding" contract="PCXServiceInterfaces.IPCXPartyService"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
<service behaviorConfiguration="DefaultBehavior" name="PCXWcfPartyService.PCXPartyServiceDMZ">
<endpoint address="" binding="customBinding" bindingConfiguration="PCXCommonBinding" contract="PCXServiceInterfaces.IPCXPartyServiceDMZ"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
<service behaviorConfiguration="DefaultBehavior" name="PCXWcfPartyService.PCXPartyServiceAsync">
<endpoint address="" binding="customBinding" bindingConfiguration="PCXCommonBinding" contract="PCXServiceInterfaces.IPCXPartyServiceAsync"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
<service behaviorConfiguration="DefaultBehavior" name="PCXWcfPartyService.PCXPartyServiceDMZAsync">
<endpoint address="" binding="customBinding" bindingConfiguration="PCXCommonBinding" contract="PCXServiceInterfaces.IPCXPartyServiceDMZAsync"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="DefaultClientBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
</behaviors>