gpt4 book ai didi

c# - 在 C# 中引发异常时调用服务的析构函数

转载 作者:行者123 更新时间:2023-11-30 18:22:01 24 4
gpt4 key购买 nike

我有一个使用异常返回错误结果的 WCF 服务。例如,当方法的参数错误时,会引发异常并向客户端发送异常,客户端捕获该异常并显示其消息。我也使用 FaultException。但问题是在引发异常时不会调用服务类的析构函数。发生异常时,我必须在析构函数中处理存储库。我该怎么做?

public class TestService : ITestService
{
private AccountReposiory _accountReposiory;

public TestService()
{
Console.WriteLine("Started!");

_accountReposiory = new AccountReposiory();
}

public void DoWork()
{
//Exception Occurred!;

throw new Exception("Some Exception");

//...
}

~TestService()
{
Console.WriteLine("Finished!");

_accountReposiory.Dipose();
}
}

最佳答案

不要使用析构函数,因为.net C# 是托管语言

GC 类在任何类初始化时自动调用,

使用....,

try{   Console.WriteLine("Exception Occurred!");}catch(Execption ex){     return;} try{   Console.WriteLine("Exception Occurred!");}catch{} 

block 来解决这个问题。不要使用析构函数。我想这可能对你有帮助

关于c# - 在 C# 中引发异常时调用服务的析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34553980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com