Служба WCF, работающая в iis 5.1, но не работающая в iis 6 - PullRequest
0 голосов
/ 13 января 2011

Я разработал службу WCF и клиента Silverlight, когда я размещаю эту службу в Windows XP с iis 5.1, она отлично работает, как и ожидалось.

Когда я размещаю в Windows Server 2003 R2 с iis 6, онработает в течение первых нескольких минут (приблизительно 20 минут), после чего перестает работать.

Я получаю HTTP 500 при обращении к службе.

Я использовал настройку

Проверяются анонимный доступ и встроенная аутентификация.

мой сервисный конфиг выглядит следующим образом

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="false"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <customBinding>
    <binding name="SilverlightApplication1.Web.GetData.customBinding0">
      <binaryMessageEncoding/>
      <httpTransport/>
    </binding>
  </customBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
<services>
  <service name="SilverlightApplication1.Web.GetData">
    <endpoint address="" binding="customBinding" bindingConfiguration="SilverlightApplication1.Web.GetData.customBinding0" contract="SilverlightApplication1.Web.GetData"/>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
</services>

мой конфиг клиента silverlight -

<client>
        <endpoint address="----/InternalBorrow/GetData.svc"
            binding="customBinding" bindingConfiguration="CustomBinding_GetData"
            contract="ServiceReference1.GetData" name="CustomBinding_GetData" />
    </client>

Может ли любое тело помочь мне решить проблему?

Исключение, которое я получаю,

 System.ServiceModel.Activation.HostedAspNetEnvironment.ValidateHttpSettings(String virtualPath, Boolean isMetadataListener, Boolean usingDefaultSpnList, AuthenticationSchemes& supportedSchemes, ExtendedProtectionPolicy& extendedProtectionPolicy, String& realm)at System.ServiceModel.Channels.HttpChannelListener.ApplyHostedContext(String virtualPath, Boolean isMetadataListener)

at System.ServiceModel.Activation.HostedAspNetEnvironment.ApplyHostedContext(TransportChannelListener listener, BindingContext context)

at System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener[TChannel](BindingContext context)

at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener[TChannel]()

at System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener[TChannel](BindingContext context)

at System.ServiceModel.Channels.BinaryMessageEncodingBindingElement.BuildChannelListener[TChannel](BindingContext context)

at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener[TChannel]()

at System.ServiceModel.Channels.Binding.BuildChannelListener[TChannel](Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, BindingParameterCollection parameters)

at System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean actuallyCreate, Type[] supportedChannels, Binding binding, BindingParameterCollection parameters, Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, ServiceThrottle throttle, IChannelListener& result, Boolean supportContextSession)

at System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode listenUriMode, Boolean supportContextSession, IChannelListener& result)

at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)

at System.ServiceModel.ServiceHostBase.InitializeRuntime()

at System.ServiceModel.ServiceHostBase.OnBeginOpen()

at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)

at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)

at System.ServiceModel.Channels.CommunicationObject.Open()

at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)

at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)

--- End of inner exception stack trace ---

at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)

at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)

1 Ответ

0 голосов
/ 12 января 2011

У меня возникла похожая проблема, когда мы запускали веб-приложение .NET 4.0 в том же пуле приложений, что и веб-служба, настроенная для использования более низкой версии .NET.Убедитесь, что вы не смешиваете версии ASP .NET в одном и том же пуле приложений на сервере.

Есть ли какие-либо ошибки или предупреждения, отображаемые в журналах средства просмотра событий веб-сервера, которые предоставили бы вам дополнительную информацию о проблеме

...