2011-01-13 192 views
0

我開發了一個WCF服務和silverlight客戶端,當我在windows xp中擁有iis 5.1的服務時,它完全按預期工作。WCF服務工作在iis 5.1但不工作在iis 6

當我在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) 

回答

0

我遇到了類似的問題,因爲Web服務配置爲使用.NET的較低版本,當我們運行在同一個應用程序池.NET 4.0的Web應用程序。確保您沒有在服務器上的同一應用程序池中混合使用ASP .NET版本。

是否有任何錯誤或警告顯示在Web服務器的事件查看器日誌中,以便爲您提供有關該問題的更多信息?

+0

你能告訴我Web服務器的事件查看器日誌在哪裏? – karthik 2011-01-12 17:25:38

+0

這個鏈接應該指向他們...... http://support.microsoft.com/kb/308427 – TKTS 2011-01-12 17:54:32

相關問題