2010-09-03 34 views
15

Tôi có một tập hợp các dịch vụ WCF được lưu trữ trên ứng dụng .NET 4. Tôi tự tạo lớp ServiceHost và bắt đầu nghe trên cổng TCP. Tất cả các công trình như mong đợi nhưng trong dấu vết WCF ở phía máy chủ tôi nhận được cảnh báo dưới đây.Cảnh báo đánh giá cấu hình không tìm thấy cảnh báo trên dấu vết WCF

Không tìm thấy ngữ cảnh đánh giá cấu hình.

XML dấu vết sau:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> 
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> 
     <EventID>524312</EventID> 
     <Type>3</Type> 
     <SubType Name="Warning">0</SubType> 
     <Level>4</Level> 
     <TimeCreated SystemTime="2010-09-03T12:33:01.9404010Z" /> 
     <Source Name="System.ServiceModel" /> 
     <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" /> 
     <Execution ProcessName="Server.Console.vshost" ProcessID="24612" ThreadID="10" /> 
     <Channel /> 
     <Computer>BAROLO</Computer> 
    </System> 
    <ApplicationData> 
     <TraceData> 
      <DataItem> 
       <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Warning"> 
        <TraceIdentifier>http://msdn.microsoft.com/it-IT/library/System.ServiceModel.EvaluationContextNotFound.aspx</TraceIdentifier> 
        <Description>Configuration evaluation context not found.</Description> 
        <AppDomain>Server.Console.vshost.exe</AppDomain> 
       </TraceRecord> 
      </DataItem> 
     </TraceData> 
    </ApplicationData> 
</E2ETraceEvent> 

Bất kỳ ý tưởng về lý do của lời cảnh báo?

Cảm ơn

+0

Bạn đã bao giờ giải quyết được sự cố chưa? –

Trả lời

3

Bạn đã xem blog MSDN đó: Missing Binding Extensions?

Lỗi ngữ cảnh đánh giá không tìm thấy (hoặc dấu vết với định danh System.ServiceModel.EvaluationContextNotFound) thường do sử dụng phần tử cấu hình được xác định trong thư viện không được bao gồm trong cấu hình của ứng dụng dưới dạng tiện ích mở rộng.

+3

Có, tôi cũng thấy bài đăng này nhưng tôi cho rằng không có bất kỳ "yếu tố cấu hình nào được xác định trong thư viện không được bao gồm trong cấu hình của ứng dụng dưới dạng tiện ích mở rộng". Tôi chỉ sử dụng một hành vi dịch vụ tùy chỉnh (IServiceBehavior) được cấu hình trực tiếp bằng mã và một ServiceAuthorizationManager tùy chỉnh. Tôi không sử dụng phần tử cấu hình (phần tử cấu hình là gì?). Cảm ơn! –

+2

Dường như WCF luôn cố tìm kiếm phần tử cấu hình bên trong tệp cấu hình ứng dụng. Khi phần tử cấu hình không tồn tại, hãy ném lỗi này. –

0

Trải nghiệm của tôi là bạn phải tạo dịch vụ theo cách thủ công với tên dịch vụ và các chi tiết khác trong thẻ.

ví dụ:

<system.serviceModel> 
     <services> 
      <service name="WCF_NameSpace.Service1" behaviorConfiguration="behave"> 
       <endpoint address="" binding="basicHttpBinding" bindingConfiguration="bind" contract="WCF_Trace_2.IService1"></endpoint> 
      </service> 
     </services> 
Các vấn đề liên quan