C# 选择特定WCF客户端的运行时决策
在我当前的项目中,我有这种情况。尽我所能去解释。 如果你有任何问题,请告诉我C# 选择特定WCF客户端的运行时决策,c#,performance,asp.net-mvc-3,wcf,wcf-client,C#,Performance,Asp.net Mvc 3,Wcf,Wcf Client,在我当前的项目中,我有这种情况。尽我所能去解释。 如果你有任何问题,请告诉我 public bool CancelService(int serviceId, int userID) { var serviceResponse = ServiceClient.CancelService(serviceId, userID); } //This Service call is throwing casting issues private ICont
public bool CancelService(int serviceId, int userID)
{
var serviceResponse = ServiceClient.CancelService(serviceId, userID);
}
//This Service call is throwing casting issues
private IContractsService ServiceClient
{
get
{
if (ContractType == CviValues.ContractTypeIDH)
{
return (Presentation.CommonService.IContractsService)IDHServiceClient;
}
else if (ContractType == CviValues.ContractTypeIpa)
{
return (Presentation.CommonService.IContractsService)IPAServiceClient;
}
else
{
return (Presentation.CommonService.IContractsService)CommonServiceClient;
}
}
}
private Presentation.IDHService.ContractsServiceClient _iDHServiceClient;
private Presentation.IDHService.ContractsServiceClient IDHServiceClient
{
get
{
if (_iDHServiceClient == null)
{
_iDHServiceClient = new Presentation.IDHService.ContractsServiceClient(
new BasicHttpBinding(BasicHttpSecurityMode.None) { MaxReceivedMessageSize = Int32.MaxValue, OpenTimeout = new TimeSpan(0, 2, 0), ReceiveTimeout = new TimeSpan(0, 10, 0), SendTimeout = new TimeSpan(0, 2, 0) },
new EndpointAddress(ValueUtilities.IDHContractsServiceEndpointUrl));
}
return _iDHServiceClient;
}
}
private Presentation.CommonService.ContractsServiceClient _commonServiceClient;
private Presentation.CommonService.ContractsServiceClient CommonServiceClient
{
get
{
if (_commonServiceClient == null)
{
_commonServiceClient = new Presentation.CommonService.ContractsServiceClient(
new BasicHttpBinding(BasicHttpSecurityMode.None) { MaxReceivedMessageSize = Int32.MaxValue, OpenTimeout = new TimeSpan(0, 2, 0), ReceiveTimeout = new TimeSpan(0, 10, 0), SendTimeout = new TimeSpan(0, 2, 0) },
new EndpointAddress(ValueUtilities.CommonContractsServiceEndpointUrl));
}
return _commonServiceClient;
}
}
private Presentation.IPAService.ContractsServiceClient _iPAServiceClient;
private Presentation.IPAService.ContractsServiceClient IPAServiceClient
{
get
{
if (_iPAServiceClient == null)
{
_iPAServiceClient = new Presentation.IPAService.ContractsServiceClient(
new BasicHttpBinding(BasicHttpSecurityMode.None) { MaxReceivedMessageSize = Int32.MaxValue, OpenTimeout = new TimeSpan(0, 2, 0), ReceiveTimeout = new TimeSpan(0, 10, 0), SendTimeout = new TimeSpan(0, 2, 0) },
new EndpointAddress(ValueUtilities.IPAContractsServiceEndpointUrl));
}
return _iPAServiceClient;
}
}
注意事项:
我如何做到这一点?有人知道解决方案吗?与其存储
ConType
,为什么不存储实际的客户端?@JohnSaunders我修改了我的问题,我想知道的是如何在ServiceClient属性中进行转换?