C# 在WCF中使用静态类
当我运行服务时,我得到了错误信息 服务器堆栈跟踪:en System.ServiceModel.Channels.ServiceChannel.ThrowiffaultUnderstanding(消息 回复,MessageFault故障,字符串操作,MessageVersion版本, 故障转换器故障转换器 System.ServiceModel.Channel.ServiceChannel.HandlerReply(ProxyOperationRuntime 操作、代理rpc和rpc)en System.ServiceModel.Channel.ServiceChannel.Call(字符串操作, 布尔单向,ProxyOperationRuntime操作,对象[]ins, 对象[]输出,时间跨度超时)en System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 方法调用,ProxyOperationRuntime操作)en System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage (信息) 在[0]处重试异常:en System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)en System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32型)en IUsuariosOPContract.GetUsuarioByUserName或邮件(字符串数据)en UsuariosOPContractClient.GetUsuarioByUserName或邮件(字符串数据)C# 在WCF中使用静态类,c#,wcf,static,C#,Wcf,Static,当我运行服务时,我得到了错误信息 服务器堆栈跟踪:en System.ServiceModel.Channels.ServiceChannel.ThrowiffaultUnderstanding(消息 回复,MessageFault故障,字符串操作,MessageVersion版本, 故障转换器故障转换器 System.ServiceModel.Channel.ServiceChannel.HandlerReply(ProxyOperationRuntime 操作、代理rpc和rpc)en Sy
请给我一个主意。另一种打电话给静态Usariosbo的方式
//that access to layer dataaccess. this uses another webapp
public class UsuariosService: IUsuariosService
{
IUsuarioRepository _repoUsuarios;
public UsuariosService(IUsuarioRepository repoUsuarios)
{
_repoUsuarios = repoUsuarios;
}
public UsuariosModel GetUsuarioByUsernameOrEmail(string data)
{
var usuario = new UsuariosModel();
try
{
var usr = _repoUsuarios.GetFiltered(x => x.Login.Trim().Equals(data.Trim(),StringComparison.OrdinalIgnoreCase)||x.Email.Trim().Equals(data.Trim(),StringComparison.OrdinalIgnoreCase)).SingleOrDefault();
if (usr == null)
{
return null;
}
else
{
usuario.Intentos = usr.Intentos;
usuario.Email = usr.Email;
usuario.Login = usr.Login;
usuario.Nombre = usr.Nombre;
}
}
catch (Exception ex)
{
}
return usuario;
}
}
//this is my bussiness layer for WCf
public class UsuariosBO
{
private static IUsuariosService _usuariosService;
private UsuariosBO(IUsuariosService usuariosService)
{
_usuariosService = usuariosService;
}
public static UsuariosModel GetUsuarioByUsernameOrEmail(string data)
{
UsuariosModel usuario = new UsuariosModel();
try
{
usuario = _usuariosService.GetUsuarioByUsernameOrEmail(data);
}
catch (Exception ex)
{
}
return usuario;
}
}
//this is my contract layer
public class UsuariosOPContract : IUsuariosOPContract
{
public UsuarioContract GetUsuarioByUsernameOrEmail(string data)
{
UsuarioContract usuario = new UsuarioContract();
try
{
UsuariosModel usr = UsuariosBO.GetUsuarioByUsernameOrEmail(data);
usuario.Nombre = usr.Nombre;
return usuario;
}
catch (Exception ex)
{
}
}
}
[ServiceContract]
public interface IUsuariosOPContract
{
[OperationContract]
string GetUsuarioByUsernameOrEmail(string data);
}