Tag: web services

如何在C#桌面应用程序和移动(android)设备之间通过本地网络进行通信?

我有一个C#(。net 3.5)桌面应用程序,它在屏幕上打印出一些数字。 现在我想将其扩展到移动设备。 (在我的情况下,Android设备。)它必须显示与计算机屏幕上相同的数字。 整个事情只是一个概念certificate,它不必看起来很好,它不必100%工作,有一个很好的GUI或简单的设置,它只需要显示一些数字。 我一直在研究MonoDroid,因为它有可能使用WCF服务。 (我知道移动设备和台式计算机将连接到同一个网络。)不幸的是,MonoDroid的试用版不支持真正的设备,我不想花几百美元来certificate一点。 我有Java的基本知识,我想我能够使用Android SDK快速开发一个示例应用程序,从网络上的网页获取数据,解释它(XML,JSON等)并在屏幕上显示。 所以我的问题变成:是否有可能从现有的应用程序中创建某种Web服务(无需设置整个IIS服务器),该服务包含一个带有一些XML数据的网页,我可以按给定的时间间隔刷新可以从同一网络上的计算机访问? 我应该怎么做,使用哪种技术? 或者有没有其他方法来实现这样的目标?

如何在没有浏览器的情况下与网站进行互动?

说我正在构建ac#应用程序。 申请目的: 从用户获取用户名和密码。 并显示网站上的一些信息。 在后台,在获取用户名和密码后,它应该: 使用这些凭据登录网站。 并单击登录后显示的锚链接。 找出保存信息的范围。 得到信息。 这是一个例子。 我实际上正在构建一个应用程序来显示带宽使用信息。 服务器不会为此公开任何API。 是否有任何教程/信息/文章可用于类似目的? 我只是不寻找什么?

最佳实践:直接SQL访问与Web服务

对于同时具有Web和桌面客户端版本的应用程序: 需要访问SQL Server的桌面客户端的最佳实践是什么? 从应用程序连接到数据库与使用Web服务有什么好处? 哪一个提供更好的安全性? 什么类型的范围将要求一个与另一个(企业内部网与Web应用程序等) 在平台上选择时是否还有其他必要的考虑因素?

如何将图像从flex应用程序传递到asp net c#web服务?

我想将来自flex应用程序的图像存储到asp网络Web服务,稍后将这些图像发送回flex应用程序。 您能否在c#中提供示例Web方法或建议网站阅读有关如何执行此操作的信息。 我试过护目镜但找不到任何有用的东西

如何在Web服务器和站点服务器之间建立双向通信?

我正在计划一个SaaS系统,用C#编写,ASP.NET使用WCF,它有两个独立的组件: 在云中的静态IP Web服务器上将是一个Web应用程序,对所有客户端都是通用的。 在每个客户的办公室内将是另一个应用程序,安装在带IIS的服务器上。 该站点应用程序显然可以连接到网站上发布的Web服务。 但这就是问题 – 我还希望网络应用程序能够启动与站点应用程序的连接……并且现场服务器可能不一定具有静态IP。 我无法控制这一点,因为我们将来可能会有数百个客户,我们不能通过坚持客户拥有固定IP的服务器来限制我们的销售能力。 那么,怎么做呢? 我可以让网站应用程序每分钟左右“检入”一次,让网络应用程序有可能回复“当你在这里时,请做x,y,z …… ”但似乎非常不优雅。 此外,如果我们谈论数百个客户,我不想用所有这些“嗨那里”轰炸我的网络服务器! 消息,如果它们实际上不是必需的。 有没有更好的办法?

通过http请求调用ASP.NET Web服务方法

我想使用C#通过http POST请求调用ASP.NET Web服务(即我不想使用运行wsdl.exe生成的SoapHttpClientProtocol对象)。 据我所知,这个过程包括: 使用该方法创建指向Web服务的url /方法的HttpWebRequest对象; 创建SOAP xml信封; 使用XmlSerializer序列化我想要传递给Web方法的任何参数; 发出请求并解析响应。 我想这样做而不必复制和使用生成的代码。 (1)看起来很简单; (2)我不知道这里的信封是否标准,或者它应该如何根据我呼叫的网络服务方法改变。 我想如果服务需要,我可能需要添加自定义soap标头? (3)这样做的过程是什么? 我假设我需要做这样的事情: MyClass myObj; XmlSerializer ser = new XmlSerializer(myObj.GetType()); TextWriter writer = new StringWriter(); ser.Serialize(writer, myObj); string soapXml = writer.ToString(); writer.Close(); 另外,我想我应该将soapXml添加到soap:Body元素中 (4)我相信我应该提取和反序列化soap:Body元素的内容。 是否可以使用(3)中的过程的反向? 谢谢, K.

.NET中的SOAP请求

我们正在尝试使用SOAP请求使用Visual Studio C#与预订API进行交互。 我们已经与另一个API的Web服务接口而没有问题,但这个问题certificate是有问题的。 我们已将其添加为服务引用,并且Visual Studio已为其生成所有类和web.config条目,以便一切看起来都很好。 但是,当我们尝试向客户端SOAP服务发出简单请求时,我们会收到以下错误: rpc \ literal SOAP不支持Namespace =’com.hrs.soap.hrs’。 包装元素必须是不合格的。 代码是: PingRequest pingrequest = new PingRequest(); SoapServiceClient service = new SoapServiceClient(); service.ping(pingrequest); 这是Web.config文件中添加的内容: 根据文档,请求应如下所示: 完整堆栈跟踪如下: [InvalidOperationException: Namespace=’com.hrs.soap.hrs’ is not supported with rpc\literal SOAP. The wrapper element has to be unqualified.] System.Xml.Serialization.XmlReflectionImporter.CheckTopLevelAttributes(XmlAttributes a, String accessorName) +842469 System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String […]

WCF Web服务,返回错误/exception字符串

我有一组WCF Web服务,如果发生exception,将使用OutgoingWebResponseContext将错误描述返回给调用者。 我的问题是,有时,当出现问题时,Web服务显示为失败 ,带有ERR_CONNECTION_RESET消息,而不是返回错误消息,我想防止这种情况发生。 例如,这是我的漂亮的C#代码,它查询我的Northwind数据库,并返回一个Customer名称列表。 或者更确切地说, 它会这样做 ,但我故意在那里插入一个例外。 public List GetAllCustomerNames() { // Get a list of unique Customer names. // try { throw new Exception(“Oh heck, something went wrong !”); NorthwindDataContext dc = new NorthwindDataContext(); var results = (from cust in dc.Customers select cust.CompanyName).Distinct().OrderBy(s => s).ToList(); return results; } catch (Exception ex) { OutgoingWebResponseContext […]

自定义DateTime XML序列化

我希望能够使用不是服务器的特定时区序列化DateTime,也不是客户端时间。 基本上,任何时区。 是否可以在.Net2.0 webservices中覆盖DateTime序列化? 我使用xsd.exe编译xmlschema,所以我尝试使用XmlSchemaImporter。 OnSerialize示例显示值更改,但不更改输出格式。 XmlSchemaImporter,将其加载到gac中,运行xsd.exe,并生成具有我想要的类的代码……但该类是一个属性,最终无法反映。 [InvalidOperationException:无法序列化类型为Cuahsi.XmlOverrides.W3CDateTime的成员’metadataDateTime’。 XmlAttribute / XmlText不能用于编码复杂类型。] 生成的代码 [System.Xml.Serialization.XmlAttributeAttribute()] public Cuahsi.XmlOverrides.W3CDateTime dateTime { get { return this.dateTimeField; } set { this.dateTimeField = value; } } XmlSchemaImporter public class ImportW3CTime : System.Xml.Serialization.Advanced.SchemaImporterExtension { public override string ImportSchemaType(string name, string ns, XmlSchemaObject context, XmlSchemas schemas, XmlSchemaImporter importer, CodeCompileUnit compileUnit, CodeNamespace mainNamespace, CodeGenerationOptions options, […]

以适当的格式返回JSONP WCF

我正在尝试为jQuery输出正确包装的JSONP值以供使用。 我正在寻找的输出是: jsoncallback({“Status”: “OK”}) 但它的输出是: “jsoncallback({“Status”: “OK”})” 显然这不是正确的JSONP格式,因为jQuery请求无法处理响应。 我在C#中的OperationContract是: [OperationContract] [WebInvoke(Method = “GET”, ResponseFormat = WebMessageFormat.Json, UriTemplate = “returndata?s={s}”)] Stream EchoWithGet(string s); public string EchoWithGet(string s) { string json = @”jsoncallback({‘Status’:’OK’})”; Console.WriteLine(“Call Made: ” + s); return json; } 我已经尝试使用JSON.NET以及System.Web.Script命名空间来使用JavaScriptSerializer 。 但是没有什么对我有用,我真正想做的就是摆脱两个双引号。