Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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形式_C#_Xamarin - Fatal编程技术网

C# ';方法或操作未实现';使用命名管道时以Xamarin形式

C# ';方法或操作未实现';使用命名管道时以Xamarin形式,c#,xamarin,C#,Xamarin,首先,大家好,这是我的第一篇文章 进入案例:我试图通过命名管道在两个应用程序之间发送消息-一个在计算机上,另一个在Android上,执行以下代码时会出现“方法或操作未实现”异常 代码片段是一个点击按钮的事件——其思想是打开一个管道,发送一个按钮文本(按钮文本是“向上”、“向下”、“向左”和“向右”),然后关闭管道 我已经对此进行了测试,只要该项目是使用标准System.IO.Pipes的WinForms项目,它就可以工作 private void Button_Clicked(objec

首先,大家好,这是我的第一篇文章

进入案例:我试图通过命名管道在两个应用程序之间发送消息-一个在计算机上,另一个在Android上,执行以下代码时会出现“方法或操作未实现”异常

代码片段是一个点击按钮的事件——其思想是打开一个管道,发送一个按钮文本(按钮文本是“向上”、“向下”、“向左”和“向右”),然后关闭管道

我已经对此进行了测试,只要该项目是使用标准System.IO.Pipes的WinForms项目,它就可以工作

    private void Button_Clicked(object sender, EventArgs e)
    {
        header.Text = "Pressed: " + (sender as Button).Text;
        try
        {
            using (var pipeClient = new NamedPipeClientStream(SERVERNAME, "testpipe", PipeDirection.Out))
            {
                header.Text = "Connected with: " + SERVERNAME;
                using (var stream = new StreamWriter(pipeClient))
                {
                    pipeClient.Connect();

                    stream.Write((sender as Button).Text);
                }
            }
        }
        catch(Exception exc)
        {
            Debug.WriteLine(exc.StackTrace);
            Debug.WriteLine(exc.Message);
        }
    }
创建异常的行是

using (var pipeClient = new NamedPipeClientStream(SERVERNAME, "testpipe", PipeDirection.Out))
我已经测试过服务器名(const string)是IP地址、“本地主机”或计算机名,没有任何变化。
我是做错了什么,还是这是Xamarin错误?

查看仅针对win32实现的。因此,您得到的是
NotImplementedException

并非所有桌面上可用的API都在移动设备上受支持


您可以使用TCP套接字或更高级的ASP.NET核心服务器,而不是使用
NamedPipeClientStream
,将您需要的作为RESTful API或类似的API公开,并与HttpClient或任何其他REST客户端一起使用。

第一个问题的格式很好。祝您好运!Ach,如果在X中提到该方法,我认为amarin文档它可以工作,但我猜是错误的。找到了一个非常简单的HelloWorld TCP套接字应用程序,完全符合我的需要,所以问题得到了解决。非常感谢您的回答。这里提到了它,您可以在语法部分看到它仅适用于Win32。如果我的回答回答了您关于NamedPipeClientStream的问题,p请把它标记成这样。