IIS上包含元数据的WCF服务错误
我正在尝试将服务发布到IIS,它在ASP.NET开发服务器上构建并运行正常。在IIS中运行时,我可以通过导航到服务或在Visual Studio中添加服务引用来访问元数据。但是,当我从客户端应用程序调用一个方法时,它会因内部服务器错误而崩溃。因此,我查看了事件日志并发现:IIS上包含元数据的WCF服务错误,wcf,iis,Wcf,Iis,我正在尝试将服务发布到IIS,它在ASP.NET开发服务器上构建并运行正常。在IIS中运行时,我可以通过导航到服务或在Visual Studio中添加服务引用来访问元数据。但是,当我从客户端应用程序调用一个方法时,它会因内部服务器错误而崩溃。因此,我查看了事件日志并发现: WebHost failed to process a request. Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncRe
WebHost failed to process a request.
Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/8810861
Exception: System.Web.HttpException (0x80004005): There was no channel actively listening at 'http://mysite.net/soundhubservice.svc/$metadata'. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service is listening. ---> System.ServiceModel.EndpointNotFoundException: There was no channel actively listening at 'http://mysite.net/soundhubservice.svc/$metadata'. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service is listening.
at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)
Process Name: w3wp
Process ID: 1080
我的Web.Config如下所示:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="SoundHub.Services.SoundHubService" behaviorConfiguration="StreamingServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost/SoundHubServive"/>
</baseAddresses>
</host>
<endpoint address="service" binding="basicHttpBinding" bindingConfiguration="httpBuffering" contract="SoundHub.Services.ISoundHubService"/>
<endpoint address="stream" binding="basicHttpBinding" bindingConfiguration="HttpStreaming" contract="SoundHub.Services.ISoundHubStreamService"/>
<!--<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />-->
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="HttpStreaming" maxReceivedMessageSize="67108864" transferMode="Streamed"/>
<binding name="httpBuffering" transferMode="Buffered" />
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="StreamingServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
我在网上搜索时尝试了几种设置组合,但没有任何帮助,总是相同的错误
谢谢
Bruno当我返回的一个对象包含枚举时,我遇到了这个问题;结果是它不知道如何序列化它 如果这是您的问题,请尝试返回枚举的int值(或字符串值),并将其强制转换回客户端的枚举。获得相同的错误