gpt4 book ai didi

c# - 检查您是否在 wcf 服务中

转载 作者:行者123 更新时间:2023-11-30 16:53:28 25 4
gpt4 key购买 nike

我使用 WCF 服务,想知道是否可以为调用方和服务使用 OperationContract 方法。因此,我想知道判断代码是在应用程序中运行还是在服务中运行的最佳方式。

像这样:

[ServiceContract]
public interface IService
{
[OperationContract]
bool ServiceMethod(string param);
}

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single,
InstanceContextMode = InstanceContextMode.Single, UseSynchronizationContext=false)]
public class Service : IService
{
bool ServiceMethod(string param)
{
if(!isInWcfService) //How to do this?
{
//Call this ServiceMethod in WCF Service
}
else
{
//Do the work
}
}
}

因为调用程序和服务都知道这个类,我认为如果两者都只需要调用这个方法并且它自己决定是否必须将调用转发给服务或者可以直接工作可能会更容易。

谢谢!

最佳答案

您可以通过检查 OperationContext.Current 来检查您是否在 WCF 服务中,这是一个与 ASP.NET 中的 HttpContext.Current 相当的 WCF 服务类:

if (OperationContext.Current != null)
{
// inside WCF
}
else
{
// not
}

关于c# - 检查您是否在 wcf 服务中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31382890/

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