2010-11-18 18 views
7

Programlı olarak birkaç hizmet ana bilgisayarını kurduğum, kendiliğinden barındırılan bir hizmet senaryosu kurdum. Açıyorum bu makinelerin her biri biri için, ben izleme günlüğüne şu hatayı bakın: Bu yapılandırma dosyasında beyan edilmeyen uzantıları kullanarak neden olduğu okudumWCF İzleme hatası: Yapılandırma değerlendirme içeriği bulunamadı

<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Warning"> 
    <TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.EvaluationContextNotFound.aspx</TraceIdentifier> 
    <Description>Configuration evaluation context not found.</Description> 
    <AppDomain>myprogram.exe</AppDomain> 
</TraceRecord> 

ve ben gerçekten özel bir davranış uzantısını kullanarak, ancak .exe yapılandırma dosyasına ekleyerek herhangi bir etkisi yoktu: Ayar dosyası başka bir yerinde bu uzantıyı kullanmıyorum

<system.serviceModel> 
    <extensions> 
     <behaviorExtensions> 
      <add name="myext" type="mytype, myassembly" /> 
     </behaviorExtensions> 
    </extensions> 
    .... 
</system.serviceModel> 

not, onu ekliyorum hizmet ana bilgisayarına programlı olarak. Hatta sorunu çözüp çözmeyeceğini görmek için uzantıyı kullanan bir kukla davranış oluşturdum, ama yapmadı.

Bu hatayı günlüğümde neden görüyorum?

cevap

1

Bu sorunu yaşadım ve ServiceReferences.clientconfig dosyasında birden çok özdeş özel bağlamaya sahip olduğumu keşfettim. Ekstraları anlattım ve her şey güzeldi. Benim durumumda

<customBinding> 
    <binding name="SecureTransportNoCredentialsEndpoint"> 
     <binaryMessageEncoding /> 
     <httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding> 
    <!--<binding name="SecureTransportNoCredentialsEndpoint1"> 
     <binaryMessageEncoding /> 
     <httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding> 
    <binding name="SecureTransportNoCredentialsEndpoint2"> 
     <binaryMessageEncoding /> 
     <httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding> 
    <binding name="SecureTransportNoCredentialsEndpoint11"> 
     <binaryMessageEncoding /> 
     <httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding> 
    <binding name="SecureTransportNoCredentialsEndpoint3"> 
     <binaryMessageEncoding /> 
     <httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding> 
    <binding name="SecureTransportNoCredentialsEndpoint12"> 
     <binaryMessageEncoding /> 
     <httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding>--> 
    </customBinding> 
</bindings> 
0

(WCF hizmetlerini aramak Silverlight kullanıyorum), ben "GCM" adı verilen yeni sınıf tanımı dize özelliği "GCM" içeriyordu ve daha sonra eklenen sınıfları ile WCF Arayüzü vardı. Sınıf adını "GCMObj" olarak değiştirdiğimde hata gitti.

0

Deneyimlerim, hizmet adı ve etiket altındaki diğer ayrıntılarla el ile hizmet oluşturmanız gerekir.

örn.

<system.serviceModel> 
     <services> 
      <service name="WCF_NameSpace.Service1" behaviorConfiguration="behave"> 
       <endpoint address="" binding="basicHttpBinding" bindingConfiguration="bind" contract="WCF_Trace_2.IService1"></endpoint> 
      </service> 
     </services> 
+0

demek istediğini emin değilim. Bu uzantıyı (bir bağlanma yoluyla) kullanan bir hizmet (yapılandırmada) oluşturursam, hatanın ortadan kalkacağını mı söylüyorsunuz? – Mark

İlgili konular