2009-04-02 33 views
23

Tôi có dịch vụ web được viết bằng C# đang hoạt động trên trang SharePoint. Tôi đã sửa đổi web.config với đoạn mã sau:Giá trị thời gian chờ thiết lập cho dịch vụ web .NET

<configuration> 
    <system.web> 
    <httpRuntime executionTimeout="360" /> 

...

cho file IIS Inetpub, file web.config SP ISAPI và các bố trí SP web.config. Tôi cũng đã sửa đổi các tập tin machine.config với cùng một mã và cố gắng để bump bất kỳ timeouts mà tôi nhìn thấy trong IIS.

Khi tôi gọi dịch vụ web này từ ứng dụng Windows C# tôi có thể bước vào phương pháp web và bắt đầu gỡ lỗi biến nhưng sau một thời gian ngắn (~ 1 phút, có thể ít hơn) giá trị biến không còn hiện diện vì điều này được trả lại:

System.Net.WebException "Yêu cầu bị hủy: Thao tác đã hết thời gian".

Tôi đang cố gắng tìm ra vị trí cần đặt giá trị thời gian chờ chính xác và cách thực hiện. Tôi khởi động lại IIS sau khi tôi đã thực hiện mọi thay đổi nhưng không có gì thay đổi để đưa ra các kết quả khác nhau.

Cảm ơn

Trả lời

24

Hãy thử thiết lập giá trị timeout trong web của bạn dịch vụ proxy lớp:

WebReference.ProxyClass myProxy = new WebReference.ProxyClass(); 
myProxy.Timeout = 100000; //in milliseconds, e.g. 100 seconds 
+0

Tài liệu trực tuyến cho biết executionTimeout chỉ mất vài giây mặc dù trên msdn ... –

+0

bạn đúng .... Tôi đã cập nhật câu trả lời của mình. Bạn đã thử đặt giá trị hết thời gian trên lớp proxy chưa? –

+0

bạn có thể làm rõ nơi bạn đang đề xuất để làm điều này? Tôi có dịch vụ web instantiation nhưng tôi không thấy bất kỳ thuộc tính nào cho ProxyClass, chỉ Proxy ... cảm ơn –

17

Sau khi tạo khách hàng của bạn xác định địa chỉ ràng buộc và thiết bị đầu cuối, bạn có thể gán một OperationTimeout,

client.InnerChannel.OperationTimeout = new TimeSpan(0, 5, 0); 
+0

Khi tôi cố gắng này, nó dường như không thực hiện bất kỳ sự khác biệt – Jimbo

+0

private void SetRequestTimeout (IClientChannel client) { if (client = null) { client.OperationTimeout = new TimeSpan (0, TIMEOUT_EXPIRE_IN_MIN, 0); } } –

+0

làm theo cách này? nó sẽ đặt thời gian chờ. –

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