Tôi cũng nhận được lỗi tương tự, WCF hoạt động bình thường cho tôi khi tôi đang sử dụng nó trong môi trường Dev với thông tin đăng nhập của tôi, nhưng khi ai đó đang sử dụng nó trong TEST, nó đã ném cùng một lỗi. Tôi đã làm rất nhiều nghiên cứu, và sau đó thay vì làm cập nhật cấu hình, xử lý một ngoại lệ trong phương pháp WCF với sự giúp đỡ của lỗi ngoại lệ. Ngoài ra, danh tính cho WCF cần phải được đặt cùng với thông tin xác thực có quyền truy cập trong cơ sở dữ liệu, ai đó có thể đã thay đổi thẩm quyền của bạn. Vui lòng xem dưới mã cho giống nhau:
[ServiceContract]
public interface IService1
{
[OperationContract]
[FaultContract(typeof(ServiceData))]
ForDataset GetCCDBdata();
[OperationContract]
[FaultContract(typeof(ServiceData))]
string GetCCDBdataasXMLstring();
//[OperationContract]
//string GetData(int value);
//[OperationContract]
//CompositeType GetDataUsingDataContract(CompositeType composite);
// TODO: Add your service operations here
}
[DataContract]
public class ServiceData
{
[DataMember]
public bool Result { get; set; }
[DataMember]
public string ErrorMessage { get; set; }
[DataMember]
public string ErrorDetails { get; set; }
}
trong service1.svc.cs của bạn, bạn có thể sử dụng trong khối catch:
catch (Exception ex)
{
myServiceData.Result = false;
myServiceData.ErrorMessage = "unforeseen error occured. Please try later.";
myServiceData.ErrorDetails = ex.ToString();
throw new FaultException<ServiceData>(myServiceData, ex.ToString());
}
Và sử dụng này trong ứng dụng khách hàng như mã dưới đây :
ConsoleApplicationWCFClient.CCDB_HIG_service.ForDataset ds = obj.GetCCDBdata();
string str = obj.GetCCDBdataasXMLstring();
}
catch (FaultException<ConsoleApplicationWCFClient.CCDB_HIG_service.ServiceData> Fex)
{
Console.WriteLine("ErrorMessage::" + Fex.Detail.ErrorMessage + Environment.NewLine);
Console.WriteLine("ErrorDetails::" + Environment.NewLine + Fex.Detail.ErrorDetails);
Console.ReadLine();
}
Chỉ cần thử điều này, nó sẽ giúp đảm bảo để có được vấn đề chính xác.
Hi Otivel, trường hợp của tôi có các thư mục lồng nhau chứa các trang web và dịch vụ khác nhau. Các thư mục mà dịch vụ của tôi cư trú và tôi nhận được lỗi là ở mức độ thứ ba làm tổ tương đối so với ứng dụng web chính và tôi đã dành riêng web.config cho mỗi dịch vụ. Tôi thay đổi web.config tương ứng của mình để thêm . Nhưng tôi vẫn nhận được lỗi. Tôi có cần thay đổi tất cả web.config trong ứng dụng web hoàn chỉnh không? –
MaxRecursion
@AkshayKulkarni: Không chắc chắn, tôi không có kinh nghiệm về trường hợp của bạn. Đảm bảo các dịch vụ của bạn có tham chiếu đến dịch vụBehavior (kiểm tra ** gagogra ** answer) trước tiên. Nếu điều đó không giải quyết được vấn đề, vui lòng đặt câu hỏi trên SO. – Otiel
Xin chào, bạn có thể đặt toàn bộ cây để chúng tôi biết nơi đặt những đoạn XML này không? –