资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

androidwcf的简单介绍

如何调用带参数的WCF方法

[OperationContract(Name="sayHelloJson")]

创新互联服务项目包括安远网站建设、安远网站制作、安远网页制作以及安远网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,安远网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到安远省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "sayHello", BodyStyle = WebMessageBodyStyle.Wrapped)]

String sayHello();

[OperationContract(Name = "SendMessageJson")]

[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "SendMessage/{Message}", BodyStyle = WebMessageBodyStyle.Wrapped)]

String SendMessage(String Message);

比如说第一个不带参数的:

那么第二个带参数的应该怎么调用?(比如说参数是"abc")

我指的是在浏览器中或java的httpclient中,因为我准备在android上实现客户端,所以.net的调用方式就不必讲了。

你URITemplate已经设置了。Get方式。

我猜测一下调用的URL应该是: 网站URL/SendMessage/你好

另外建议你使用REST WCF自带的一个帮助页面,里面会给出更精确的调用示例。

android请求wcf服务提交数据是response.getstatusline.getstatuscode的值为40

response.getStatusCode()==200:代表请求成功

response.getStatusCode()==303:代表重定向

response.getStatusCode()==400:代表请求错误

response.getStatusCode()==401:代表未授权

response.getStatusCode()==403:代表禁止访问

response.getStatusCode()==404:代表文件未找到

response.getStatusCode()==500:代表服务器错误

Android java.io.IOException: BufferedInputStream is closed

楼主,网络编程中,有异常是很正常的,网络状态不好的时候,就会调用失败了。所以要处理好异常。

wcf和android怎么进行双工通信?

第一:在服务契约上标注一下你的回调契约是哪个即可。

[ServiceContract(CallbackContract = typeof(你的回调契约类型))]

第二:回调契约就是用于服务端控制客户端的。比如,一个典型场景是,客户端提交请求以后立即返回;服务端处理一段时间后,再通知客户端结果。

第三:“假如我有一个总控制台,想控制下面的各个客户端,是不是必须使用wcf双工技术才能实现?”是的。

第四:“QQ的远程操作要用什么技术弄呢”这个就比较复杂了。简而言之,就是操作端往接收端发送指令,接收端根据指令来操作,并返回画面数据。比如,操作端发送鼠标键盘的信息,接收端把这些信息变成Windows消息,发送给操作系统(相当于重现一次鼠标键盘操作)。

android能调用wcf什么样的服务

也只能参照dyw那个帖子里面最后一位的办法 通过java做中介服务来实现了

Android 使用 MultipartEntity C#怎么接受这个参数

参考: Android to WCF: Streaming multi part binary images

WCF收到的数据也包括了MIME头。所以WCF收到的长度大于啊Android发送的长度,因为MIME头信息还是有规律的,就是最后"Content-Transfer-Encoding: binary\r\n\r\n",所以解析数据的时候,从这些字符后开始。

C# code?12345678910111213141516171819202122232425 internal static byte[] GetBytesFromStream(Stream stream, System.Text.Encoding encoding) { // Read the stream into a byte array byte[] data = ToByteArray(stream); Listbyte dataList = new Listbyte(); // Copy to a string for header parsing string content = encoding.GetString(data); string matchValue = "Content-Transfer-Encoding: binary\r\n\r\n"; int lastIndex = content.LastIndexOf(matchValue); int startingIndex = lastIndex + matchValue.Length; byte[] bytes = encoding.GetBytes(content.Substring(0, startingIndex - 1)); int bytesLength = bytes.Length; for (int i = bytesLength + 1; i data.Length; i++) { dataList.Add(data[i]); } return dataList.ToArray(); }

还有一种是使用MultipartParser

参考:

Reading file input from a multipart/form-data POST

C# code?12345678910 public void Upload(Stream stream) { MultipartParser parser = new MultipartParser(stream); if (parser.Success) { // Save the file SaveFile(parser.Filename, parser.ContentType, parser.FileContents); } }

使用 WCF 实现 RESTful 方式的 WebService


本文标题:androidwcf的简单介绍
网站链接:http://www.cdkjz.cn/article/dsgcpio.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220