使用 Xamarin.Forms with App.config 中的 WCF

本文关键字:config 中的 WCF App with Xamarin Forms 使用 | 更新日期: 2023-09-27 18:35:30

是否可以在Xamarin.Forms中使用App.config使用WCF服务?在Xamarin.Forms中,我有PCL库和三个平台项目:iOS,Android和Windows Phone。

通常(例如在 WPF 中)我有包含此类内容的 App.config 文件:

<system.serviceModel>
    <client>
        <endpoint
          address="net.tcp://localhost:8002/FooService"
          binding="netTcpBinding"
          contract="MyApp.Contracts.IFooService" />
    </client>
</system.serviceModel>

游戏代理类,像这样:

public class GameProxy : ClientBase<IFooService>, IFooService
{
    public async Task<BarResponse> BarRequest(int id)
    {
        return await Channel.BarRequest(id);
    }
}

是否可以在Xamarin.Forms中以这种方式执行此操作?

使用 Xamarin.Forms with App.config 中的 WCF

Xamarin 中没有 App.config 文件。 您只需要在代码中设置值,如下所示:

private static BasicHttpBinding CreateBasicHttp()
{
    BasicHttpBinding binding = new BasicHttpBinding
        {
            Name = "basicHttpBinding",
            MaxBufferSize = 2147483647,
            MaxReceivedMessageSize = 2147483647
        };
    TimeSpan timeout = new TimeSpan(0, 0, 30);
    binding.SendTimeout = timeout;
    binding.OpenTimeout = timeout;
    binding.ReceiveTimeout = timeout;
    return binding;
}

Xamarin 文档有一个完整的 WCF 演练。