Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin,将WCF数据从特定平台库返回到PCL_C#_Wcf_Xamarin - Fatal编程技术网

C# Xamarin,将WCF数据从特定平台库返回到PCL

C# Xamarin,将WCF数据从特定平台库返回到PCL,c#,wcf,xamarin,C#,Wcf,Xamarin,我正在处理一个客户机/服务器项目,但很难让它正常工作,主要是因为无法在PCL中访问System.ServiceModel 但没关系,我设法使用了从PCL调用的DependencyServices,来管理从每个特定平台与服务器的连接 我的问题是,例如,一旦我打电话 var result = DependencyService.Get<Interface>().Operation(param); var result=DependencyService.Get().Operation(

我正在处理一个客户机/服务器项目,但很难让它正常工作,主要是因为无法在PCL中访问
System.ServiceModel

但没关系,我设法使用了从PCL调用的
DependencyServices
,来管理从每个特定平台与服务器的连接

我的问题是,例如,一旦我打电话

var result = DependencyService.Get<Interface>().Operation(param);
var result=DependencyService.Get().Operation(param);
这将转到特定于平台的,在那里我正在执行绑定、端点并从WCF调用实际操作,即异步,因此从现在起,我无法在此方法中从WFC返回结果,因为一旦操作完成,这将返回到另一个方法


我的目标是在PCL上完成大部分工作,这样我就不必为每个平台多次编写接口。所以,在resume中,我需要的是一种从PCL中的服务器(WCF或其他使其工作的)返回结果的方法。

使用VS在PCL中创建WCF代理/客户端,并避免所有这些问题

如果选项中没有服务引用,请检查库设置


您可以使用另一个接口和依赖项注入来实现这一点。顺便说一句,我使用PCL中的所有WCF呼叫,不知道为什么它对您不起作用。您使用的是XForms还是Classic?如果您调用的函数是异步的,那么如果等待,结果将返回给同一个调用方。有什么问题?你能多分享一些函数定义和调用的代码吗?@YuriS我正在使用XForms。当我将我的service.cs放在MyApp(Portable)中时,我收到诸如类型或名称空间名称“…”在名称空间“System.ServiceModel”中不存在之类的错误。。。。如果我把它放在MyApp.Droid项目上,它会正常工作,所以我假设它在PCL中不会工作。希望你有一个围绕这方面的工作。我尝试了它的形式,它的工作。如何生成代理?我使用VS和它works@YuriS没有太多的代码可以共享,我只是创建了一个简单的Xamarin项目,我正在尝试管理应用程序和服务器之间的简单连接。我按照创建WCF的步骤进行了操作,直到它开始使用特定于平台的表单,这是我不想要的。服务参考仅在您未选择windows phone 8.1时显示。所以,我使用silverlight生成代理的方法也很有效,但您不能将Windows phone作为目标,因为若我这样做,它将不允许我使用System.ServeModelsilverlight生成代理在便携库中也可以工作。这是一个多一点的工作,但可行的。我只关心windows phone 8.0,所以服务参考适合我