Можно ли общаться с AppServiceConnection и uwp в WinForm - PullRequest
0 голосов
/ 06 июня 2018

Можно ли связываться с AppServiceConnection и uwp в WinForm?Ошибка: не содержит определения «GetAwaiter», это мой код: enter image description here Спасибо!

Это код в WinForm:

private AppServiceConnection calculatorService;
    static Form1 mainForm;
    public Form1()
    {
        InitializeComponent();
    }

    private async void button1_Click(object sender, EventArgs e)
    {
        //Add the connection
        if (calculatorService == null)
        {
            calculatorService = new AppServiceConnection();
            calculatorService.AppServiceName = "com.yanscorp.appservicedemo.Values";
            calculatorService.PackageFamilyName = "c97887ad-1f75-4b48-9e3b-21b89c061715_6evysfdvxt248";

            var status = await calculatorService.OpenAsync();//A mistake here

            if (status != AppServiceConnectionStatus.Success)
            {
                string d = "Failed to connect";
                return;
            }
        }
var message = new ValueSet();
        message.Add("Request", "GetCallCount");
        AppServiceResponse response = await calculatorService.SendMessageAsync(message);//A mistake here
        string result = "";

        if (response.Status == AppServiceResponseStatus.Success)
        {
            result = response.Message["Response"] as string;
            // Get the data  that the service sent  to us.

                textBlock.Text = result;

        }
    }

Ошибка: 错误 CS4036 «IAsyncOperation» 不 包含 «GetAwaiter» 的 , , 并且 找不到 可接受 类型 «IAsyncOperation»WindowsFormsApplication1

1 Ответ

0 голосов
/ 11 июня 2018

Возможно ли связываться с AppServiceConnection и uwp в WinForm

Да.Вы можете использовать сервис приложений в WinForm.Проверьте эту статью для более подробной информации.

Ошибка: не содержит определения «GetAwaiter»

Вы можете получить доступ к API-интерфейсам Windows 10 в WinForm по ссылке winmd file и System.Runtime.WindowsRuntime.dll.Похоже, вы уже ссылались на winmd, но вы можете забыть сослаться на System.Runtime.WindowsRuntime.dll, который вы можете найти в каталоге C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.

Добавление ссылки System.Runtime.WindowsRuntime.dll решит вашу проблему.Подробности см. Вызов API Windows 10 из настольного приложения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...