Tag: #wcf

找不到端点 – WCF Web服务

我为我的WCF服务创建了2个端点。 它与basicHttpBinding一起工作正常,但会导致webHttpBinding错误。 错误=未找到端点。 运营合同定义 [OperationContract] [WebInvoke(Method = “POST”, BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)] VINDescription CallADSWebMethod(string vin, string styleID); web.config : 请建议我如何解决这个问题?

部署webAPI服务器端所需的最小文件

因此,经过大量的研究,我开始使用webAPI入口点来增强我们的服务服务器堆栈。 基于这个主题 ,特别是Digerati董事会成员的最后一篇文章,我们将webAPI服务作为WCF应用层的外观实现。 (我们的WCF服务只是我们的应用程序层的外观,其中所有行为都存在) 我的问题是这个。 我下载了MVC 4并在我的服务解决方案中创建了一个新的WebAPI项目。 但哇,在我的项目中创造了大量废话,我根本不需要! 例如,所有图像文件,家庭控制器,视图和模型等。 因此,在将其拆解为服务项目时,构建function服务项目所需的最小文件是什么? 我们的目的是在同一服务器中并排发布两种服务类型(WCF和webAPI)。每个服务调用执行相同的相同服务调用并返回请求的特定DTO。 到目前为止,它看起来像App_Start,Controllers和Glabal.asax / web.config条目。 我绝对不需要视图,模型或图像! 关于其他人为完成纯服务部署所做的工作的任何意见都将受到欢迎。

重用WCF服务客户端

我有一个WCF Web服务,充当我的ASP.NET网页的数据提供者。 在整个网页中,通过自动生成的ServiceClient对Web服务进行了多次调用。 目前,我创建了一个新的ServiceClient并为每个请求打开它,即获取用户,获取角色,获取客户列表等….其中每个都将创建一个新的ServiceClient并打开一个新连接。 我可以使我的ServiceClient类成为全局或静态可用的类,以便我的ASP.NET网页中的所有函数都可以使用同一个客户端。 这似乎更有效率。 这样做有什么问题吗? 这样做时我应该考虑哪些建议? 如果我向客户提出多个请求会怎样? 据推测,这一切都是同步的,所以如果我拨打1或50个电话应该无关紧要? 谢谢

将文件从Flex上传到WCF REST Stream问题(如何在REST WS中解码多部分表单post)

该系统是与WCF REST Web服务通信的Flex应用程序。 我正在尝试将文件从Flex应用程序上传到服务器并遇到一些问题,我希望有人能够提供帮助。 我在Flex应用程序中使用FileReference来浏览和上传此处定义的文件: http://blog.flexexamples.com/2007/09/21/uploading-files-in-flex-using-the-filereference-class/ 然后我在WCF REST Web服务(使用WCF 4 REST服务的项目类型)中接收文件作为Stream(在调试器中显示为System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream) [WebInvoke(Method = “POST”, UriTemplate = “_test/upload”)] public void UploadImage(Stream data) { // TODO: just hardcode filename for now var filepath = HttpContext.Current.Server.MapPath(@”~\_test\testfile.txt”); using (Stream file = File.OpenWrite(filepath)) { CopyStream(data, file); } } private static void CopyStream(Stream input, Stream output) { var buffer = new […]

.NET Garbagecollector麻烦。 阻挡15-40分钟

一些事实:我们开发了wcf服务,充当客户端和数据库之间的层。 它是自主设备并作为Windows服务运行。 该服务保留了几个缓存,其中最大的内存大约为1-2gb。 总内存使用量通常约为5-8gb。 连接是双工的,使用tcp协议,序列化使用protobuf-net。 我们的连接客户端数量通常在1000-1500之间。 该服务器是一个8核xeon的新型号,内存为64GB,并且只运行该服务。 问题:经过一段时间后,从一天到一周,服务变得非常缓慢。 需要0.5秒的请求可能需要一分钟。 此行为持续15-40分钟或直到服务重新启动。 我们做了什么:我们检查了服务器的网络和网络连接,没有问题。 从f.eks开始,这段时间CPU利用率有所上升。 平均30%至40-50%。 我们已经进行了内存转储,代码中没有阻止用户的逻辑锁,也没有多少活动。 我们最新的领导是垃圾收集器。 在perfmon中,我们可以看到“gc中的%time”不断超过90%,(90-97%)并且收集计数增加。 GC0和GC1都有。 我们怀疑还有阻止GC2运行,但我们不得不重新启动服务,因为它正在生产中,因此在我们运行perfmon的5分钟窗口期间它没有计数。 内存使用量为7,6 Gb。 注意:呼叫突然上升,因此呼叫到达那里,但服务不处理它们。 我的问题是,垃圾收集器能否处于运行状态并持续阻塞超过15分钟? 或者问题可能与其他问题有关? 我们的服务在工作站模式和延迟模式下运行GC:交互式我们现在已将其更改为Server和SustainedLowLatency,并希望这会有所帮助。 如果它是垃圾收集器,还有什么我们可以做的吗? 编辑:大容量内存使用是设计的,缓存中的数据很大,并且有更多的可用内存。

为什么AspNetCompatibilityRequirementsMode.Allowed修复此错误?

我正在寻找解决我与WCF的问题。 我对WCF很新,所以我不确定究竟发生了什么。 我正在使用Visual Studio 2010并执行新网站 – > WCF服务。 我创建了我的服务,在配置文件中,如果我设置aspNetCompatibilityEnabled=”true” ,我会在通过我的Web浏览器访问服务时出现此错误。 The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the service type with RequirementsMode setting as ‘Allowed’ or ‘Required’. 我不明白这意味着什么。 当[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]修复它时,为什么aspNetCompatibilityEnabled=”true”会导致此错误。 […]

如何在Windows 10 Universal App中使用WCF服务?

我的Windows 8.1应用程序使用WCF服务。 我需要将我的应用程序移植到Windows 10 UWP应用程序。 但无法添加服务参考。 添加服务引用时会出现此消息: 数据服务客户端代码生成失败。 指定的Windows Store Framework“.NETCore,Version = v5.0”不受支持。 仅支持.NETCore 4.5及更高版本。 如何解决我的问题?

WCF Restful Service的Http Post格式

嘿,超级新手问题。 考虑以下WCF函数: [ServiceContract] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] public class Service1 { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); [WebInvoke(UriTemplate = “”, Method = “POST”, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare) ] public SomeObject DoPost(string someText) { … return someObject; 在小提琴手中,我的请求标题和正文会是什么样子? 谢谢您的帮助。

使用WebGet的可选UriTemplate参数

我试过这些 WCF服务URI模板中的可选参数? Kamal Rawat在博客中发表| 2012年9月4日的.NET 4.5本节介绍如何在WCF Servuce URI inShare中传递可选参数 和 WCF中URITemplate中的可选查询字符串参数 但没有什么对我有用。 这是我的代码: [WebGet(UriTemplate = “RetrieveUserInformation/{hash}/{app}”)] public string RetrieveUserInformation(string hash, string app) { } 如果填充参数,它可以工作: https://127.0.0.1/Case/Rest/Qr/RetrieveUserInformation/djJUd9879Hf8df/Apple 但如果app没有价值,则无效 https://127.0.0.1/Case/Rest/Qr/RetrieveUserInformation/djJUd9879Hf8df 我想让app可选。 怎么做到这一点? 当app没有值时,这是错误: Endpoint not found. Please see the service help page for constructing valid requests to the service.

在相同的两个对象类型之间创建两个Automapper映射

我在WCF服务中使用AutoMapper来返回User对象。 User具有诸如AccountTeams属性,其本身具有子对象。 所有类都有AutoMapper映射。 根据调用的WCF OperationContract ,我想返回不同数量的数据。 我想要一个OperationContract返回User对象,而不填充其AccountTeams属性(及其子代),另一个OperationContract返回User ,并填写整个属性链。 有没有办法在同一个两个对象之间有两个不同的映射,或者我是否需要执行完整映射并null我不想从服务返回的属性?