我想使用WCF&amp ;;将我的计算机中的一些数据发送到我的网络中的手机。 Xamarin。我没有找到任何文档,需要一些帮助才能使其工作。
Working with WCF in Xamarin并没有真正帮助我,因为它需要一个.svc文件。
甚至可以从xamarin连接到本地网络中的应用程序吗?
对不起,如果这个问题看起来很愚蠢,但我真的很蠢,不知道如何解决这个问题。
如果任何人只能指出正确的方向,我会非常感激。
修改
到目前为止,我设法使用.svc
从我的服务中获取SLsvcUtil.exe
文件。
到目前为止,这是我的服务(ServerSide):
System.Net.IPHostEntry entry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
string ipaddress = entry.AddressList.First(add => add.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString();
using (ServiceHost host = new ServiceHost(typeof(BusyService)))
{
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.HttpGetUrl = new Uri($"http://{ipaddress}:8777/BusyService");
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
host.Description.Behaviors.Add(smb);
host.Open();
Console.WriteLine($"Server started at: {ipaddress}:8777/BusyService");
Console.ReadLine();
}
的App.config
<system.serviceModel>
<services>
<service name="ConsoleApplication3.BusyService">
<endpoint address="http://192.168.56.1:8777/BusyService" binding="basicHttpBinding"
bindingConfiguration="" name="DefaultEndpoint" contract="ConsoleApplication3.IBusyService" />
</service>
</services>
</system.serviceModel>
现在我的AndroiApp
只是抛出TimeoutEx或EndpointNotFoundEx。
我检查过的事情:
这里有什么问题?
注意:
我之前得到了this例外但是我设法摆脱了调用_client.OpenAsync()
并在_client_OpenCompleted
中调用我的方法 - 不确定这是否正确...我已经在上面的教程中没见过any1打开客户端......