2009-07-24 31 views
13

Tôi đã sử dụng Trình theo dõi dịch vụ để phân tích các cuộc gọi dịch vụ WCF được thực hiện trong ứng dụng của chúng tôi nhưng tôi thực sự cần xem các giá trị tham số được chuyển đến các phương thức dịch vụ? Điều này có thể không? Tôi đã cố gắng chuyển quá trình ghi nhật ký thành đầu ra tối đa nhưng vẫn không thể thấy bất kỳ điều gì: (Đăng nhập Cuộc gọi dịch vụ WCF với thông số tham số

Trả lời

18

Nếu bạn bật tính năng theo dõi thư, bạn sẽ nhận được tất cả chi tiết của cả cuộc gọi (bao gồm biểu diễn XML của thư của bạn được gửi) cũng như câu trả lời:

<system.diagnostics > 
    <sources> 
    <source 
     name="System.ServiceModel.MessageLogging" 
     switchValue="Information, ActivityTracing" > 
     <listeners> 
      <add name="yourTrace" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\Logs\YourMessageLog.svclog"> 
      <filter type="" /> 
      </add> 
     </listeners> 
    </source> 
    </sources> 
    <trace autoflush="true" /> 
</system.diagnostics> 
<system.serviceModel> 
    <diagnostics> 
     <messageLogging 
      logMessagesAtTransportLevel="true" 
      logMessagesAtServiceLevel="false" 
      logMalformedMessages="true" 
      logEntireMessage="true" 
      maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" /> 
    </diagnostics> 
</system.serviceModel> 

này nên tạo ra một tập tin gọi là "YourMessageLog.svclog" trong một thư mục "C: \ Logs" (mà phải tồn tại trước đó!) và trong đó bạn có thể xem với WCF Service vết Người xem.

Những gì bạn sẽ thấy ở đây là Biểu diễn XML của thông báo xuất hiện và t anh ta đáp lại việc quay lại - các tham số của bạn sẽ được đưa vào cấu trúc XML của bạn ở đây. Đó là những gì bạn đang tìm kiếm?

+0

Tôi đã thử đặt thông báo đăng nhập theo cách này trước đây nhưng đã thực hiện nó trên máy chủ thay vì ứng dụng khách nên nó không hoạt động như tôi mong đợi. Chúc mừng đã chỉ cho tôi đúng cách :) –

+1

Loại dành cho người nghe phải là System.Diagnostics.XmlWriterTraceListener –

+0

hi Tôi đang sử dụng dịch vụ WCF của tôi DataContract và một hàm có int. XIN VUI LÒNG Tôi cần phải xem các thông số được truyền cho dịch vụ WCF trên trình theo dõi dấu vết, tôi chỉ thấy hedear những gì về cơ thể? –

Các vấn đề liên quan