草庐IT

c# - IIS 中的 WCF,在工作组模式下使用 MSMQ

我一直在试用MSMQ和WCF,但我似乎无法让它正常工作。通过使用WCF和服务引用,我已经让客户端(向队列发送消息)正常工作。执行此操作的代码或多或少是这样的:staticvoidMain(string[]args){varclient=newMsmqServiceReference.MsmqContractClient();client.SendMessage("TEST");client.Close();Console.ReadKey();}其中MsmqContractClient是我添加服务引用时由visualstudio生成的代理。app.config中的端点指向一个msmque

c# - 向 WCF ServiceContract 添加方法是否会破坏现有客户端?

我们有一个现有的服务合约[ServiceContract(Namespace="http://somesite.com/ConversationService")]publicinterfaceIConversationService{[OperationContract(IsOneWay=true)]voidProcessMessage(Messagemessage);[OperationContract(IsOneWay=true)]voidProcessMessageResult(MessageResultresult);}我们需要给它添加一个方法[ServiceContract

c# - 添加服务引用为枚举和方法创建重复的定义

我正在使用VisualStudio2010中的AddServiceReference功能将NavisionWebServices添加到一个简单的WindowsForms应用程序中,生成了引用,但在代码中有重复的定义,这些定义阻止了代码编译,例如:错误Thenamespace'WindowsFormsApplication1.ServiceReference1'alreadycontainsadefinitionfor'Status'C:\Trash\WindowsFormsApplication1\WindowsFormsApplication1\ServiceReferences\S

c# - 通过 WCF 序列化异常

我有一个任务在使用WCF连接回服务器的远程系统上运行。任务很可能会抛出异常,我希望将这些异常传送回服务器。本质上我想做这样的事情:客户:server.SendException(newUnauthorizedAccessException("SomeException"));服务器:publicvoidSendException(Exceptione){throwe;}契约(Contract):[ServiceContract]publicinterfaceIServerContract{[OperationContract]voidSendException(Exceptione);

c# - 我无法创建清晰的图片,为什么以及何时使用 RESTful 服务?

这个问题在这里已经有了答案:WhydoweneedRESTfulWebServices?(8个回答)8年前关闭。为什么以及何时使用RESTful服务?我知道如何创建WCF网络服务。但我无法理解何时使用基于SOAP的服务以及何时使用RESTful服务。我阅读了许多关于SOAP与REST的文章,但仍然没有清楚地了解为什么以及何时使用RESTful服务。为了在这些服务之间轻松做出决定,有哪些具体要点? 最佳答案 这是一个有值(value)的问题,一个简短的回答是不公平的。忘记了大多数人可能比REST更熟悉SOAP的事实,我认为这有几个关键

c# - 没有证书存储的 WCF 证书

我的团队正在为第3方胖客户端应用程序开发大量WPF插件。WPF插件使用WCF来使用由许多TIBCO服务发布的Web服务。胖客户端应用程序维护一个单独的中央数据存储,并使用专有API访问数据存储。胖客户端和WPF插件将部署到10,000个工作站上。我们的客户希望将胖客户端使用的证书保存在中央数据存储中,这样他们就不用担心重新颁发证书(目前的重新颁发周期大约需要3个月),也有机会授权证书的使用。所提议的架构在中央数据存储和TIBCO服务之间提供了一种共享secret/身份验证的形式。虽然我不一定同意提议的架构,但我们的团队无法更改它,必须使用提供的架构。基本上我们的客户希望我们在我们的WP

c# - WCF 中的多态性

我正在考虑构建一个可以存储/检索一系列不同类型的WCF服务。以下示例是否可行并且也被认为是可接受的设计:[ServiceContract]publicinterfaceIConnection{[OperationContract]IObjectRetrieveObject(GuidObjectID);[OperationContract]GuidStoreObject(IObjectNewObject);}[ServiceContract][ServiceKnownType(IOne)][ServiceKnownType(ITwo)]publicinterfaceIObject{[Da

c# - 如何在当前上下文中访问 WCF 服务实例?

如果我在特定服务实例和操作的上下文中执行,我如何才能访问当前正在执行的服务实例?服务实例不继承自任何特定的公共(public)基类或接口(interface),我能找到的进入现有上下文的唯一途径是:OperationContext.Current但我似乎无法找到任何引用实际服务实例本身的属性,因此我无法将其转换为我所知道的应该是什么并对其执行操作。在不探究我为什么这样做(无关紧要)的情况下,如果有任何方法可以找到我正在寻找的引用,请告诉我。编辑:[ServiceContract]publicinterfaceIInventory{[OperationContract]ListListD

c# - 多线程 C# 应用程序中的惰性单例

我正在开发一个使用WCFWeb服务的多线程C#应用程序。与web服务的连接将有一个特定的超时时间,我们可以定义该超时时间,超时后它将关闭。我希望使用单例类来存储与Web服务的连接。我正在尝试按如下方式获取实例:CLazySingletonins=CLazySingleton.Instance;stringconnection=CLazySingleton.abc;下面是单例类的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceLazySingleton{pu

c# - 如何为 WCF 配置 log4net

在我的aspwebforms应用程序上,我会进行log4net初始化;log4net.Config.XmlConfigurator.Configure();在Application_Start上的global.asax上,以便在应用程序启动时完成一次。为IIS托管的WCF应用程序配置log4net的正确方法是什么(具体询问将此行放在哪里使用哪个事件等)以便log4net初始化一次并且没有不必要的初始化。 最佳答案 我通常在服务类的构造函数中执行此操作,但我会检查是否已配置log4net:if(!LogManager.GetRepos