cuốn sách gpt4 ai đã làm

Máy khách WCF, có giữ tham chiếu hay không?

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-03 16:05:57 28 4
mua khóa gpt4 Nike

考虑以下场景:

有一个 Windows 服务托管一个 WCF 服务。

WCF 服务在客户端和位于不同物理机器上的 AppFabric 服务器之间提供接口(interface)。它检索对象,对其进行计算并返回最佳对象。

20-30 个客户端可以同时连接到该服务,这并不算多。

更好的是,每次在服务上完成查询时创建一个实例,或者将客户端对象作为成员并调用函数。创建一个实例会用 try finally block 乱扔所有东西,我不喜欢,但是客户端连接呢,有什么缺点?主机可以重新启动并且客户端仍然可以工作吗?通常/首选的方法是什么?

thử
{
PreOrderService.PreorderServiceClient proxy = new PreOrderService.PreorderServiceClient("netTcpPreorderService");

List preOrders = proxy.FindWallet(preOrder.WalletId);
}
finally
{
if (proxy.State != CommunicationState.Faulted)
proxy.Close();
}

câu trả lời hay nhất

我更喜欢做以下事情:

proxy = newServiceReference1.ServiceDataContractTestClient(); 
thử
{
proxy.MetodThrowsException();
proxy.Close();
}
catch
{
proxy.Abort();
throw; // Or handle exception
}

这不关心服务器连接是否已丢失,并且在 proxy.MetodThrowsException() 中断服务器时不会抛出 CommunicationObjectFaultedException。

如果你发现它降低了可读性,那么将它包装在一个单独的方法中。

关于c# - WCF 客户,持有引用与否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19428803/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress