2013-08-29 29 views
11

Tôi biết đây có lẽ là một câu hỏi khá cơ bản nhưng tôi là người mới xây dựng WCF và tạo dịch vụ. Tôi đang chạy một dịch vụ WCF lưu trữ cục bộ bằng cách sử dụng Microsoft VS 2010 C# 4. Tôi đang cố gắng chạy dịch vụ thông qua URL thông qua ràng buộc đơn giản và chạy các phương thức PUT và GET thông qua URL. Tôi nhận được:WCF Dịch vụ: Cách tìm nhật ký máy chủ để hiểu lỗi?

. Xem nhật ký máy chủ để biết thêm chi tiết.

lỗi khi tôi cố gắng thực hiện yêu cầu dịch vụ. Làm thế nào tôi có thể tìm thấy các nhật ký máy chủ này?

Trả lời

11

Không nhất thiết phải ghi nhật ký. Truy tìm và ghi nhật ký cần phải được kích hoạt trong cấu hình WCF (app.config hoặc web.config). Bạn có thể thực hiện việc này theo cách thủ công hoặc bằng cách nhấp vào app.config và sau đó chọn Chỉnh sửa Cấu hình WCF. Nếu mục này không xuất hiện trong menu ngữ cảnh (xảy ra trong phiên bản cũ của VS), bạn có thể tìm thấy nó trong menu Công cụ VS hoặc bằng cách chạy nó theo cách thủ công (SvcConfigEditor.exe).

Theo mặc định, thư được ghi vào tệp trong thư mục mà từ đó ứng dụng được chạy. Bạn có thể chỉnh sửa điều này trong trình chỉnh sửa cấu hình khi bạn bật ghi nhật ký. Trình chỉnh sửa sẽ cho phép bạn chỉ định đường dẫn tệp khi bạn bật ghi nhật ký hoặc truy tìm.

WCF Configuration Editor

Bạn sau đó có thể sử dụng công cụ dịch vụ Microsoft vết Viewer cho đi qua các tập tin, như XMLs lớn và không phải là người dùng thân thiện. Công cụ trình xem sẽ tự xuất hiện khi bạn nhấp đúp vào tệp nhật ký, hoặc bạn có thể chạy nó theo cách thủ công (SvcTraceViewer.exe).

enter image description here

+0

Cảm ơn sự giúp đỡ của bạn. Một người nào đó sau đó cho thấy WCF thử nghiệm khách hàng mà làm cho nó dễ dàng hơn nhiều –

+0

Có, ** WcfTestClient.exe ** là công cụ siêu mát mẻ. Nó cũng có thể giúp với các dịch vụ web được tạo mà không có WCF. –

+0

@ NikolaRadosavljević, sẽ truy tìm nhật ký nếu một IIS lưu trữ dịch vụ WCF là không lưu trữ cho một số lỗi? Tôi đã thử thêm đăng nhập vào web.config - nó hiển thị dịch vụ đó là không có lỗi - nhưng không có hồ sơ nào là lý do dịch vụ không thành công để lưu trữ địa chỉ? Nếu nó đã được đăng nhập? – Drag0nKn1ght

12

Thêm địa chỉ này vào web.config của bạn. bạn chỉ định nơi nhật ký đi vào thuộc tính initializeData của tracelistener

<system.serviceModel> 
    <diagnostics> 
     <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" /> 
    </diagnostics> 
</system.serviceModel> 
<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"> 
      <listeners> 
       <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\Temp\SvcLog\Traces.svclog" /> 
      </listeners> 
     </source> 
    </sources> 
</system.diagnostics> 
+0

Tôi có thể xem XML phản hồi mà dịch vụ gửi không? Tôi không thể nhìn thấy nó trong tệp nhật ký –

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