2008-10-16 21 views
30

tôi nhận được lỗi sau khi tôi cố gắng để kết nối với ứng dụng máy chủ của tôi sử dụng remoting:C# Remoting - Làm thế nào để tắt customErrors

Một vấn đề dường như đã xảy ra trong khi kết nối với máy chủ từ xa:
Máy chủ đã gặp lỗi nội bộ. Để biết thêm thông tin, hãy tắt customErrors trong tệp .config của máy chủ.

Đây là mã trên ứng dụng máy chủ của tôi:

TcpChannel tcpChannel = new TcpChannel(999); 
MyRemoteObject remObj = new MyRemoteObject (this); 
RemotingServices.Marshal(remObj, "MyUri"); 
ChannelServices.RegisterChannel(tcpChannel); 

Có vẻ như để làm việc lần đầu tiên, nhưng trừ khi các ứng dụng máy chủ được khởi động lại các lỗi xảy ra.

Tôi đoán có điều gì đó không được làm sạch đúng cách nhưng tôi không chắc chắn tùy chỉnh vẫn đang hoạt động như thế nào.

Bất kỳ ý tưởng nào tôi bắt đầu. Cảm ơn.

[EDIT] - Nhờ Gulzar, tôi đổi mã của tôi ở trên như sau và bây giờ các lỗi được hiển thị:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; 
TcpChannel tcpChannel = new TcpChannel(999); 
MyRemoteObject remObj = new MyRemoteObject (this); 
RemotingServices.Marshal(remObj, "MyUri"); 
ChannelServices.RegisterChannel(tcpChannel); 
+0

phiên bản .net? –

+0

Gần đây đã nâng cấp lên 3.5 nhưng tôi chắc chắn rằng nó đã giống như trước đây – HAdes

Trả lời

36

Đối với Net 1.0/1.1, bạn cần một tập tin cấu hình cho máy chủ truy cập từ xa

Nếu bạn không có một tập tin <ServerEXE>.config, tạo một và có điều này trong đó:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.runtime.remoting>  
     <customErrors mode="off" /> 
    </system.runtime.remoting> 
</configuration> 

Đối với Net 2.0, bạn có thể sử dụng tài sản RemotingConfiguration.CustomErrorsMode

+1

Điều đó đã hoàn thành, bây giờ tôi thấy lỗi, cảm ơn. – HAdes

+1

Bạn có thể sửa các dấu ngoặc nhọn bị thiếu trong XML ở trên cho những người dùng mới có thể bị nhầm lẫn. Vui lòng xóa nhận xét này sau khi bạn đã làm như vậy. –

+0

Cảm ơn Drew. Đã sửa. –

0

Để tắt customErrors, hãy mở web.config file trên máy chủ. Nếu có thẻ customErrors, hãy thay đổi nó. Nếu không có, hãy thêm nó.

Nó phải là <customErrors mode="Off"/> cho mục đích này.

Nếu bạn thực sự đang sử dụng trang lỗi tùy chỉnh, bạn sẽ muốn thay đổi cài đặt này khi bạn đã tìm thấy sự cố của mình.

5

Trong tập tin máy chủ, sử dụng:

RemotingConfiguration.CustomErrorsEnabled(bool); 
Các vấn đề liên quan