Служба WCF работает в iis 5.1, но не работает в iis 6

Я разработал службу 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>

my silverlight client config is

<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)

person karthik    schedule 13.01.2011    source источник
comment
Какое исключение вы получаете?   -  person    schedule 12.01.2011
comment
Вы уже задавали этот вопрос: заголовок stackoverflow.com/questions/4670029/   -  person    schedule 13.01.2011
comment
для этого предназначена ссылка редактирования. Давай, кликай и удивляйся!   -  person    schedule 13.01.2011


Ответы (1)


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

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

person TKTS    schedule 12.01.2011
comment
можете ли вы сказать мне, где будут присутствовать журналы просмотра событий веб-сервера? - person karthik; 12.01.2011
comment
Он должен быть в меню Пуск > Панель управления > Администрирование > Управление компьютером. - person TKTS; 12.01.2011