我有一个.Net Standard库,该库使用Microsoft WCF Web服务参考提供程序调用简单的WCF服务。我只是在调用一个登录方法,该方法传递3个字符串并接收一个整数。这是该呼叫的示例代码。
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress(Constants.SoapUrl);
Twsvc.twsSoapClient client = new Twsvc.twsSoapClient(binding, address);
var i = await client.LoginAsync("admin", "wms", "baguer");
如果从Windows窗体应用程序中调用该方法,则可以正常工作,但是从Xamarin窗体应用程序中..我有此错误
System.NullReferenceException:对象引用未设置为obj的实例。
尝试找到原因后,我在跟踪中发现该服务正在调用id的存储过程正在使用空参数进行调用。这是跟踪的结果
exec LoginUser @ Usuario = NULL,@ Clave = NULL,@ Identificador = NULL
这是生成的引用中的调用代码
public System.Threading.Tasks.Task<int> LoginAsync(string Usuario, string Clave, string Identificador)
{
return base.Channel.LoginAsync(Usuario, Clave, Identificador);
}
我不知道这种行为的原因,将不胜感激