草庐IT

c# - IEnumerable 和良好实践(和 WCF)

使用IEnumerable是一种好的做法吗?当您实际上不需要添加或删除东西而只是枚举它们时,是否在整个应用程序范围内?附带问题:您在返回IEnumerable时遇到过任何问题吗?来自WCF服务?这会给客户端应用程序带来问题吗?毕竟,我认为这将被序列化为一个数组。 最佳答案 我倾向于只返回IEnumerable当我想向调用者暗示实现可能使用惰性求值时。否则,我通常会返回IList或ICollection,并实现为ReadOnlyCollection如果结果应该是只读的。惰性评估可能是一个重要的考虑因素:如果您的实现可以抛出异常,则在调

c# - 什么是休息?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:WhatamInotunderstandingaboutREST?什么是休息?它与WCF有什么关系?我被要求研究服务的RESTful实现。你能给我指出对初学者有帮助的链接吗?我是一名.NET开发人员,对ASP.NET有一定的了解

c# - 将结构与 WCF 服务一起使用

对于使用结构作为WCF服务的返回类型是否有官方建议?我目前正在与一个不是我编写的服务进行交互,我发现自己受到启发去询问是否有必要让我感到烦恼。我过去一直使用类-部分原因可能是示例总是显示的内容,但正如我现在所想的那样,出于其他“直觉”原因:我通过定义一个单独的项目来开始契约(Contract)风格,该项目的接口(interface)表示将由服务来回传递的类型。我经常使用LINQ,因此可空性测试对于引用类型是隐式的,而对于结构和其他值类型,我总是需要将其标记为可为空。虽然我承认它比我脑海中的项目符号列表更直观,但我会立即想到这些。我想问这个问题是因为我正在处理返回结构的服务并且在处理返回

C#/SQL 数据库监听器

我需要持续监控数据库行以检查更改(更新)。如果其他来源有一些更改或更新,则应该在我的应用程序上触发该事件(我使用的是WCF)。有没有办法连续监听数据库行的变化?我可能有更多的事件来监视同一个表中的不同行。性能有什么问题吗?我正在使用C#Web服务来监控SQLServer后端。 最佳答案 您可以在各自的表上使用AFTERUPDATE触发器将项目添加到SQLServerServiceBroker队列。然后将排队的通知发送到您的网络服务。另一位发帖人提到了SqlDependency,我也想提一下,但MSDN文档有点奇怪,因为它提供了一个W

c# - Windows 服务 OnStop 等待完成处理

我实际上在VS2012/.NET4.5中开发了一个Windows服务。该服务遵循以下代码片段的方案:使用计时器每隔几分钟执行一些所需的操作。该过程大约需要10分钟才能完成我在服务中使用单线程我担心的是,如果有人通过管理控制台停止服务,它可能只是在服务正在执行的过程中。我已经阅读了一些关于通过请求停止停止Windows服务的文章,但我有点迷茫。有时会创建WorkerThreads,有时会创建ManualResetEvents,但到目前为止,我无法完全掌握Windows服务的最佳前进方向。在停止Windows服务之前,我需要等到onStop方法中的处理正确完成。那么最好的方法是什么,同时考

c# - HTTP header 或 SOAP header 中的 WCF Soap Actions?

我对SOAPAction是如何在WCF(以及与此相关的其他Web服务框架)中实现的感到有点困惑。在测试客户端中,我有一个客户端消息检查器,配置为抓取随请求发送的SOAP消息和任何HTTPheader。至少在客户端消息检查器中,操作显示为SOAPheader中的一个元素:http://myurl.com/2009/11/MyService/MyMethod但是,如果我在Fiddler中查看请求,Action元素会丢失,取而代之的是现在HTTPheader中有一个附加条目:SOAPAction:"http://myurl.com/2009/11/MyService/MyMethod"谁能解

c# - 如何在 WCF 中将接口(interface)标记为 DataContract

我有两个数据类,它们只包含数据成员(没有函数)。一个是CallTask​​,另一个是SmsTask。这两个类有一些共同的属性,如ID、Tel。我将这些公共(public)属性放在一个单独的接口(interface)类中,并在适当的时候在我的项目中使用这个接口(interface)类。现在我在我的项目中添加了一个WCFService以在客户端和服务器之间共享数据。考虑以下类设计:publicinterfaceIGsmTask:IComparable{stringTaskID{get;set;}stringSessionID{get;set;}stringTel{get;set;}}cla

c# - 如何解决 Entity Framework 提供程序异常

我已将我的WCF项目发布到服务器上,我还将MVC应用程序发布到使用WCF服务的同一个盒子上。尝试登录我的MVC应用程序时,这使用了wcf服务,但我在浏览器上遇到了这个异常,TheEntityFrameworkprovidertype'System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer'registeredintheapplicationconfigfilefortheADO.NETproviderwithinvariantname'System.Data.SqlClient'couldno

c# - WCF 服务方法在 WCF 测试客户端中不可用,因为它使用类型

我正在尝试使用WCF测试客户端来测试我构建的WCF服务。该服务有一个方法“SubmitRequest”。[OperationContract]ResponseSubmitRequest(Requestrequest);当我加载WCF测试客户端时,该方法变灰并显示消息“WCF测试客户端不支持此操作,因为它使用类型WcfLibrary.Objects.Request下面是类型定义,有没有人看出什么不对?[DataContract]publicclassRequest{[DataMember]publicstringLoanNumber{get;set;}[DataMember]public

c# - 响应消息的内容类型 application/xml;charset=utf-8 与绑定(bind)的内容类型不匹配 (text/xml; charset=utf-8)

我尝试使用独立应用程序使用WCFWeb服务。我可以使用InternetExplorer查看此服务,也可以在VisualStudio服务引用中查看。这是我遇到的错误Thecontenttypetext/html;charset=UTF-8oftheresponsemessagedoesnotmatchthecontenttypeofthebinding(text/xml;charset=utf-8).如何更改它以使用正确的内容类型?这是我的配置文件这是堆栈{System.ServiceModel.ProtocolException:Thecontenttypeapplication/xm