草庐IT

c# - 通过 WCF 发送图像的有效方法?

我正在通过从头编写自定义远程控制应用程序(如VNC)来学习WCF、LINQ和其他一些技术。我在创建它时考虑了三个主要目标:服务器将在应用程序级别(即无缝窗口)而不是完整的桌面访问提供“远程控制”。客户端可以选择服务器上运行的任意数量的应用程序,并接收每个应用程序的图像流。一个客户端可以同时连接到多个服务器。现在我正在使用WCF发送一个表示正在发送的窗口的字节数组:using(varms=newMemoryStream()){window.GetBitmap().Save(ms,ImageFormat.Jpeg);frame.Snapshot=ms.ToArray();}GetBitma

c# - 如何在数据契约(Contract) WCF 中使用枚举

我想在WCF网络服务的数据契约(Contract)中有一个枚举。我正在尝试使用[DataContract]classmyclass{[DataMember]publicintid{get;set;}[DataContract]publicenummyenum{[EnumMember]a,[EnumMember]b}}但我无法在wcf客户端访问枚举。请让我知道我做错了什么。 最佳答案 要包含在mex/wsdl中,枚举需要在图中的某处使用,例如某处应该有myenum类型的属性。图表中未主动使用的类型被省略。另请注意,您实际上根本不需要注

c# - 如何异步调用我的 WCF 服务?

我有一个从Windows服务调用的WCF服务。WCF服务运行一个SSIS包,该包可能需要一段时间才能完成,我不希望我的Windows服务不得不等待它完成。如何使我的WCF服务调用异步?(或者默认是异步的?) 最佳答案 MSDN的以下文章将满足您的所有需求:ImplementinganAsyncServiceOperationCallingWCFServiceAsyncDesigningServiceContracts 关于c#-如何异步调用我的WCF服务?,我们在StackOverflo

c# - WCF 和 SOAP 1.1

我正在尝试创建第3方应该使用的服务。消费者与SOAP1.1兼容,这就是我为服务器使用basicHttpBinding的原因。当发出实际请求时,服务器预期的内容类型似乎出了问题。使用basicHttpBinding我不明白为什么服务器仍然需要“application/soap+xml”,据我所知,只有SOAP1.2才需要它。我已经使用wireshark来弄清楚这两个人在交流什么。请参阅下面的tcp流和设置。任何帮助表示赞赏。第3方应用请求POST/HTTP/1.1SOAPAction:http://tempuri.org/ITestService/HelloContent-Type:te

c# - 为什么我们不能像使用 WCF 或 ASMX 一样在 Visual Studio 中将 Web API 添加为 "service reference"?

我已经决定将WebAPI(作为中间层)用于我正在开发的应用程序,但似乎无法弄清楚如何将其“绑定(bind)”到前端(前端是ASP.NETMVC4项目)。通常,我会在前端右键单击“服务”,选择“添加服务引用”,然后将我的服务的URL输入。但是使用WebAPI,我不能这样做。从我的WebAPI创建客户端代理类以在我的前端使用有哪些选项?为什么WebAPI不支持像添加WCF或ASMX一样添加为引用? 最佳答案 您是指RestWeb服务吗?对于Rest,没有像WCF或ASMX那样的服务定义页面。通常人们希望将RestAPI与JSON一起使用

c# - ASP.NET 5 添加 WCF 服务引用

在VisualStudio2015预览版(预发行版)中,如何为WCF服务添加服务引用? 最佳答案 目前,这是一个相当复杂的过程,因为工具似乎不支持生成WCF客户端代码或从配置文件自动映射的方式。此外,正如dotnetstep指出的那样,ASP.NET团队尚未将System.ServiceModel移植到5(或者为WCF客户端提供替代方案尚未)。尽管如此,我们可以使用基于代码的方法来创建客户端代理并使用svcutil生成我们的服务引用类。解决方案先决条件对于此示例,我假设您在本地托管服务http://localhost:5000/Ma

c# - ProtocolException Unhandled/(405) WCF 不允许的方法;绑定(bind)和端点看起来不错

我刚刚开始学习如何使用WCF,并且正在尝试从头开始编写一个HelloWorld小程序(包括主机端和客户端)。每当我的客户尝试使用该服务时,我都会收到ProtocolExceptionUnhandled,但我不明白为什么。我正在使用IIS托管该服务。关于我的设置方式:我正在尽最大努力将客户端、代理、主机、服务和契约(Contract)分开,详见video正如本article中所述.基本上,我在每个项目的解决方案中都有不同的项目。这里有一些不同的文件显示了我在说什么:服务namespaceHelloWorld{publicclassHelloWorldService:IHelloWorld

c# - WCF 服务返回 "requested service ' .. .' could not be activated"第一次从 MVC 站点访问它

我们有一个正在被MVC3网站访问的WCF服务(没有安全性)。在开发人员机器上我们没有遇到任何问题,但是当我们的TeamCity安装程序构建中央版本并将其部署在IIS7下时,我们第一次加载MVC3站点并访问WCF服务-服务调用返回消息:System.ServiceModel.ServiceActivationException:Therequestedservice,'http://localhost:83/ABCStaticData/StaticDataService.svc'couldnotbeactivated.Seetheserver'sdiagnostictracelogsfo

c# - WCF 服务,作为服务属性值提供的类型……找不到

当我在VisualStudio2012中右键单击Eval.svc并在浏览器中查看时,我得到以下信息-Thetype'EvalServiceLibary.Eval',providedastheServiceattributevalueintheServiceHostdirective,orprovidedintheconfigurationelementsystem.serviceModel/serviceHostingEnvironment/serviceActivationscouldnotbefound.当我从测试客户端运行WCF服务时,一切正常。评估服务:[ServiceBeha

c# - 为什么我的 WCF 服务给出消息 'does not have a Binding with the None MessageVersion' ?

我已经创建了一个有效的WCF服务。我现在想给它添加一些安全性来过滤IP地址。我按照微软在示例中发布的示例尝试添加一个IDispatchMessageInspector,它将引发调用AfterReceiveRequest,然后在IP地址不在允许列表中时抛出错误。看了代码之后;他们使用“wsHttpBinding”对其进行了配置,但我想使用“webHttpBinding”或“basicHttpBinding”。但是当我设置它时,我得到了错误:Theendpointat'http://upload/api/Api.svc/soap'doesnothaveaBindingwiththeNone