检查您是否在wcf服务中
本文关键字:服务 wcf 是否 检查 | 更新日期: 2023-09-27 18:02:21
我使用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中的HttpContext.Current
类似的WCF服务类。净:
if (OperationContext.Current != null)
{
// inside WCF
}
else
{
// not
}