假设这是一个ServiceContract [ServiceContract] public interface MyService { [OperationContract] int Sum(int x, int y); [OperationContract] int Sum(double x, double y); } 在C#中允许方法重载,但是WCF不允许你重载operation contracts宿主程序在托pipe时会抛出InvalidOperationException
背景: 我正在创build一个webservices站点,它将通过SOAP和其他可能的协议提供许多types的简单服务。 我们的目标是简化转换,RSSparsing,垃圾邮件检查以及许多其他types的工作。 该网站将主要针对初学者开发者。 我的问题: 我从来没有开发任何C#或.NET的事情。 多年前我做了一些VB6,但就是这样。 现在我需要一些在C#中通过SOAP进行RPC调用的示例 。 我试图searchnetworking和堆栈溢出,find这个,但没有find许多资源,我不知道如何排名资源(这是旧的?这是不正确的?等)。 我创build了一个简单的示例服务,在PHP中这样调用: <?php $client = new SoapClient('http://webservi.se/year'); //URL to the WSDL echo $client->getCurrentYear(); //This method returns an integer, called "year" ?> 我现在想在C#中尽可能简单地调用这个方法。 所有参考和例子都非常受欢迎。 我从哪开始呢? 我可以使用哪些类/模块/什么? 如果有更好的通信框架(后端是可扩展的),该解决scheme根本不需要涉及SOAP,但是请注意,服务器端在Unix上是用PHP实现的,所以Microsoft的专有解决scheme是不可能的服务器端。 请注意,我需要这个,所以我可以编写J随机Web开发人员可以遵循的文档(即使他们在共享的networking托pipe)。 因此,我认为最好的方法应该是只用代码来做到这一点,但是其他的做法当然也是受欢迎的。
我的xml看起来像这样。 名字是web.config <?xml version="1.0"?> <configuration> <appSettings> <add key="configFile" value="IIS.config"/> <add key="RialtoDomain" value="ASNC_AUDITORS"/> </appSettings> <system.serviceModel> …. </system.serviceModel> </configuration> 在代码中,当我这样读 String path = ConfigurationSettings.AppSettings["configFile"]; 这里我得到一个空值。 这里抛出exception。 这是正确的方法吗? 或者还有其他方法吗? 提前致谢。 等待回应。
我正在尝试使用远程的svc web服务。 我使用svcutil.exe创build了代理类,之后我将这个类添加到我的控制台应用程序中,但是会产生一个错误: 从另一方收到一个不安全的错误或不正确的安全错误。 查看内部故障例外,了解故障代码和详细信息。 System.ServiceModel.FaultException:validation消息的安全性时发生错误 我没有创buildWCF端,这是一个远程的svc。 请帮忙。 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="EloquaDataTransferService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="TransportWithMessageCredential"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> </bindings> <client> <endpoint […]
如何在不使用App.Config的情况下在代码中设置IncludeExceptionDetailInFaults?
当我尝试启动在C#中创build的Windows服务时,出现此错误: 我的代码到目前为止: private ServiceHost host = null; public RightAccessHost() { InitializeComponent(); } protected override void OnStart(string[] args) { host = new ServiceHost(typeof(RightAccessWcf)); host.Open(); } protected override void OnStop() { if (host != null) host.Close(); host = null; } 更新#1 我通过授予帐户NETWORK SERVICE的权限解决了上述问题,但是现在我又遇到了一个问题: 更新#2 服务无法启动。 System.InvalidOperationException:服务'RightAccessManagementWcf.RightAccessWcf'具有零应用程序(非基础设施)终结点。 这可能是因为没有为您的应用程序findconfiguration文件,或者是因为在configuration文件中找不到匹配服务名称的服务元素,或者是因为服务元素中没有定义端点。 System.ServiceModel.ServiceModel.ServiceHostBase.OnOpen()上的System.ServiceModel.ServiceHostBase.InitializeRuntime()中System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription说明,ServiceHostBase serviceHost)上的System.ServiceModel.Description.DispatcherBuilder.EnsureThereAreNonMexEndpoints(ServiceDescription说明) TimeSpan超时)在System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan超时)在RightAccessHosting.RightAccessHost.OnStart(String [] args)在C:\用户….
我有一个客户端/服务器wcf应用程序 我的可执行文件没有定义任何ServiceContract ,它甚至没有对System.ServiceModel的引用( 而是引用了包含到服务器的连接逻辑的程序集 ) 我有另一个程序集,它是由我的EXE引用的,它包含一个ServiceContract 。 它曾经工作得很好。 昨天,我在项目设置( 部分信任,完全信任,部署设置等等)上玩了很多,现在,每次启动我的客户端时,都会出现以下消息框: 微软WCF服务主机 目标程序集不包含服务types。 您可能需要调整此程序集的代码访问安全性策略。 然后VS冻结1分钟,最终让我像往常一样debugging我的程序。 我在这个问题上find了一个post ,但是这个解决scheme并不适用于我的情况。 有任何想法吗?
我写了一个Windows服务,将WCF服务公开给安装在同一台机器上的GUI。 当我运行GUI时,如果我无法连接到服务,我需要知道是否因为服务应用程序尚未安装,或者是因为服务未运行。 如果前者,我会想要安装它(如这里所述); 如果后者,我会想要启动它。 问题是:如何检测服务是否已安装,然后检测到已安装,如何启动?
我试图托pipe我的服务与IIS 6,但我一直得到这个exception。 Server Error in '/WebServices' Application. ——————————————————————————– The type 'QS.DialogManager.Communication.IISHost.RecipientService', provided as the Service attribute value in the ServiceHost directive could not be found. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the […]
什么是WCF中的“mexHttpBinding”? 何时应该优先于其他绑定使用此绑定?