草庐IT

c# - 我可以在 RESTful 服务中使用 TCP 吗?

REST正在使用Web的当前功能并在其上应用一些原则以提高其效率。它使用标准的HTTP动词进行通信,并利用其无状态特性。但是,REST服务是否可能使用TCP协议(protocol)进行通信?如果是,那么是否会违反其原则? 最佳答案 HTTP是一种基于TCP/IP的协议(protocol)。因此,当您使用REST时,您已经在使用TCP进行通信。但是如果你想在没有HTTP的情况下通过纯TCP套接字使用REST,那么不,这没有意义,因为REST基于HTTP动词和header。这些概念仅存在于HTTP协议(protocol)中。

c# - WCF NamedPipe CommunicationException - "The pipe has been ended. (109, 0x6d)."

我正在编写带有“状态工具”的Windows服务。该服务托管一个用于进程间通信的WCF命名管道端点。通过命名管道,状态工具可以定期查询服务的最新“状态”。在我的开发机器上,我有多个IP地址;其中之一是具有192.168.1.XX地址的“本地”网络。另一个是“企业”网络,地址为10.0.X.XX。Windows服务收集单个IP地址上的UDP多播流量。到目前为止,只要使用“192.168.1.XX”地址,Windows服务就可以正常工作。它始终如一地向客户端正确报告状态。当我切换到另一个“公司”IP地址(10.0.X.XX)并重新启动服务后,我在检索状态时收到连续的“Communicatio

c# - WCF 服务中的 HttpContext 为空?

这是我的代码行,它在HttpContext.Current上抛出错误stringpostData="username="+HttpContext.Current.Server.UrlEncode(USERNAME); 最佳答案 这很正常。WCFWeb服务中没有HTTP上下文。WCF服务甚至可能不托管在Web服务器内。您可以在控制台应用程序中托管。有一个技巧可以让你设置ASP.NETCompatibilityMode:但我不建议您这样做。我会这样做:varpostData="username="+HttpUtility.UrlEnco

c# - 如何检查 net.tcp WCF 服务的可用性

我的WCF服务器需要定期启动和关闭,客户端有时会使用服务器,但如果它关闭了,客户端就忽略它。所以每次我需要使用服务器服务时,我都会检查连接状态,如果它没有打开,我就打开它。问题是,如果我在服务器关闭时尝试打开,则会出现延迟,从而影响性能。我的问题是,是否有办法执行某种myClient.CanOpen()?所以我想知道是否有必要打开与服务器的连接。 最佳答案 有一个WS-Discovery的实现可以让您监听您的服务的上/下公告。这也是一种非常方便的服务地址解析形式,因为它利用UDP多播消息来查找服务,而不是在客户端配置一组地址。WS-

c# - 通过 WCF 发送元组对象?

System.Tuple类是否受WCF的数据契约序列化程序支持(即,我能否将Tuple对象传递给WCF调用和/或接收它们作为部分或全部结果)?我找到了thispage,但不是我所希望的明确、明确的“您可以使用WCF发送和接收元组”的答案。我猜你可以,只要Tuple本身的所有类型within都受DataContractSerializer支持——任何人都可以向我提供更明确的答案?谢谢。 最佳答案 Tuple类型标有SerializableAttribute,因此,如果您在其中存储的类型是可序列化的,那么它们也应该能够被WCF序列化。查

c# - 如何在 wcf restful 服务中传递多个参数?

IService.cs[OperationContract][WebGet(UriTemplate="/IsValidUser?userid={userid}&password={password}",RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]stringIsValidUser(stringuserid,stringpassword);Service.cspublicstringIsValidUser(stringuserid,stringpassword){if(userid==

c# - 从 C# 将原始 SOAP XML 直接发送到 WCF 服务

我有一个WCF服务引用:http://.../Service.svc(?WSDL)我有一个包含兼容SOAP信封的XML文件...现在,我想通过一些C#代码将此原始数据直接发送到服务(并接收响应),而不使用VisualStudio服务引用。这是否可能,如果可能,如何实现? 最佳答案 你可以使用UploadString.您需要适本地设置Content-Type和SOAPActionheader:classProgram{staticvoidMain(string[]args){using(varclient=newWebClient()

c# - 是否需要处理 Entity Framework 上下文对象

我们在WCF服务方法中使用EntityFramework与数据库通信,最近我们在我们的服务代码上运行代码审查工具。像往常一样,我们通过工具收到了许多审查建议,许多审查意见建议处理EntityFramework上下文对象。所以,我的问题是,如果我在方法中使用EntityFramework上下文对象,并且一旦我退出该方法,GC不会清理上下文对象?我们是否需要显式处理上下文对象? 最佳答案 简单地:DbContext实现了IDisposable,因此您应该在处理完它后立即手动处理它。您不需要处理它,因为GC最终会收集它,但GC不是确定性的

c# - System.StackOverflowException ,何时使用 get set 属性?

在wcfserviceLibrary.DLL中发生类型为“System.StackOverflowException”的未处理异常代码如下。[DataContract]publicclassmemberdesignations{[DataMember]publicstringDesigId{get{returnDesigId;}set{DesigId=value;}}[DataMember]publicstringDesignationName{get{returnDesignationName;}set{DesignationName=value;}}}然后我有如下的Typememb

c# - 如何使用 WCF 服务暂时停止证书错误

我正在测试我创建的WCFWeb服务的早期版本。在客户端,当我使用VS来“添加服务引用”时一切正常。但是当我尝试使用该服务时出现错误,CouldnotestablishtrustrelationshipfortheSSL/TLSsecurechannelwithauthority**其中星星代表服务器的IP地址。无论如何,服务器上都有一个安全证书,但它只是为了测试而自行生成的,所以我暂时不担心证书错误。在客户端,已经为我生成了一个app.config,那么我需要更改哪些设置才能暂时忽略证书错误? 最佳答案 在客户端初始化WCF服务之前