草庐IT

c# - WCF 没有正确超时?

我遇到超时问题,这些是详细信息:我的绑定(bind)配置如下所示:我正在向我知道已关闭的服务器发送一条消息,因此按照我的app.config中的规定,连接应该会在3秒后超时,但由于某种原因需要20-30秒。当抛出EndPointNotFoundException时,这是我得到的信息:System.ServiceModel.EndPointNotFoundException:Couldnotconnecttonet.tcp://10.0.0.82:4466/MegaMatcherWcf.Theconnectionattemptlastedforatimespanof00:00:03.TC

c# - 有效关闭 WCF 4 channel 的正确方法

我正在使用以下方法关闭WCF4channel。这是正确的做法吗?using(IServicechannel=CustomChannelFactory.CreateConfigurationChannel()){channel.Open();//dostuff}//channelsdisposesoff?? 最佳答案 在WCF的“早期”,这曾经是普遍接受的发布WCF客户端代理的方式。然而事情已经发生了变化。原来执行IClientChannel.Dispose()简单地调用IClientChannel.Close()方法,在某些情况下可

c# - 使用接口(interface)进行远程或 WCF 的新开发(在同一台机器上的两个 .NET 应用程序之间)?

我们希望在同一台机器上运行的两个.NET应用程序相互通信。我们想要三个项目。包含接口(interface)的库。实现接口(interface)的“服务器”应用程序和使用接口(interface)与服务器通信的“客户端”应用程序。我们不希望客户端引用服务器。我们有一个测试应用程序可以通过远程处理执行此操作,但最近发现远程处理正在被WCF取代。由于这是新开发,我们觉得我们应该使用WCF,但我们还没有设法让它与WCF一起工作,并且想知道是否可能?编辑:抱歉我上面没有详细说明,但当时我无法访问任何代码。我在这个项目上和另外两个人一起工作,并没有仔细研究他们的IPC东西。我知道他们目前认为WCF

c# - 如何为 WCF 指定自定义 SoapAction

我正在创建一个将从另一个服务调用的WCF服务。在WSDLsoapaction中出现如下我想要它如何指定自定义soap操作? 最佳答案 您还可以指定Action经营契约(Contract)属性(property):[ServiceContract]publicinterfaceIMyServiceContract{[OperationContract(Action="http://www.TextXYZ.com/FUNC/1/0/action/MyMethod")]voidMyMethod();}您还可以设置ReplyAction如果

c# - 在 wcf 服务上返回 html 格式而不是 json 或 xml

我有运营契约(Contract):[System.ServiceModel.Web.WebGet(UriTemplate="c",BodyStyle=WebMessageBodyStyle.Bare)][OperationContract]stringConnect();我将其实现为:publicstringConnect(){return"Somelink";}当我转到该链接时,我得到:如何将响应格式化为html?甚至纯文本。我不想取回html或json...我知道我可以创建一个查询该服务的网站,但我只想创建一个可在任何浏览器上运行的简单“类似控制台”的应用程序...

c# - 在 WCF 服务的方法中使用输出参数是不好的做法吗?

我正在寻找超出通常的“输出参数令人困惑并表明该方法正在做不止一件事”式参数的原因,以及更多关于WCF服务中输出参数特别糟糕的地方。在我现在工作的地方,我们在WCF服务中有一条禁止使用它们的规则,我正在努力找出原因! 最佳答案 就个人而言,我在特定的地方使用out参数(例如名为TryParse()的方法)。所以,我有一些你提到的偏见,我只在特定的、有限的地方使用它。此外,您不能假设.Net应用程序将在另一端使用它。因为WCF提供了一个可用作SOAP或RESTWeb服务(以及其他通信类型)的接口(interface),所以我不能保证WC

c# - WCF Web 服务错误 : "Service endpoint binding not using HTTP protocol"?

我有一个简单的WCF服务,在我的开发机器上测试时它运行良好。现在我已将Web服务移至Web服务器,并在http://mydomain.com:8005运行该服务(在Debug模式下).打开Web浏览器访问该URL会显示预期的服务页面,如果我在我正在调用的界面内的服务器上放置一个断点,它会命中断点并返回预期的数据......但在客户端它会返回出现以下错误:AnerroroccurredwhilereceivingtheHTTPresponsetohttp://mydomain.com:8005/.Thiscouldbeduetotheserviceendpointbindingnotus

c# - DateTimeOffset 的 WCF 服务引用?不使用 FCL 类型

我将.NET4.5.1用于我的WCF服务,将.NET4.0用于客户端Windows服务应用程序。在数据协定中,有一个类型为DateTimeOffset?的DataMember(一个可为空的DataTimeOffset)。当我向WCF服务添加服务引用时,它认为DateTimeOffset?是一个复杂类型。换句话说,它认为它不是System.DateTimeOffset?,它认为它是ServiceReference1.DateTimeOffset?我该如何解决这个问题?这是我到目前为止尝试过的:创建最简单的示例解决方案来演示这一点。不幸的是我无法重现这个问题,所以它一定是我的配置所特有的。

c# - 被 "The remote server returned an error: (403) Forbidden"与 https 中的 WCF 服务难住了

我有一个WCF服务,由于这个错误,我已经将其归结为几乎没有。它把我逼上了墙。这就是我现在所拥有的。一个非常简单的WCF服务,具有一个返回值为“test”的字符串的方法。一个非常简单的Web应用程序,它使用该服务并将字符串的值放入标签中。在Win2003上使用SSL证书运行IIS6的Web服务器。同一服务器上其他可用的WCF服务。我将WCF服务发布到它的https位置我在VS中以Debug模式运行Web应用程序,它运行良好。我将Web应用程序发布到WCF服务所在的同一台服务器上的https位置,该服务器位于同一台SSL证书下我得到,“远程服务器返回错误:(403)禁止访问”我几乎更改了I

c# - 重用 WCF 服务客户端

我有一个WCF网络服务充当我的ASP.NET网页的数据提供者。在整个网页中,通过自动生成的ServiceClient对Web服务进行了多次调用。目前,我创建了一个新的ServiceClient并为每个请求打开它,即获取用户、获取角色、获取客户列表等......其中每一个都会创建一个新的ServiceClient并打开一个新的连接。我能否将我的ServiceClient类设为全局或静态可用类,以便我的ASP.NET网页中的所有函数都可以使用相同的客户端。这似乎更有效率。这样做有什么问题吗?执行此操作时我应该考虑什么建议?如果我向客户发出多个请求会怎样?大概它都是同步的,所以我调用1次还是