我创建了WCF,并使用wsHttpBinding和MTOM作为消息传输,并将身份验证作为“Windows”。现在我的服务不是当前安全的,它是纯HTTP,在自定义端口上运行。WCF的wsHttpBinding的Windows身份验证安全吗?任何人都可以通过网络跟踪看到或猜测密码吗?环境信息:托管在互联网上没有ActiveDirectory,只有一个服务器使用服务器的管理员用户名和密码从我的办公室连接在客户端,配置文件中没有提到密码,它是在运行时输入的。它可以正常工作,因为输入错误的凭据也会返回某种安全异常。在自定义端口89上运行.NET4.0,目前我在我的自定义Windows服务的app
我在远程机器上托管了一个WCF服务。在我的本地计算机上,我有一个WPF应用程序和一个Windows服务,我希望它们能够连接到WCF服务。WPF应用程序连接和通信正常,但由于某种原因,Windows服务无法连接。它们的app.config文件是相同的,建立连接的代码也是相同的。Windows服务无法连接是否有任何原因?这是我遇到的异常:Thesocketconnectionwasaborted.Thiscouldbecausedbyanerrorprocessingyourmessageorareceivetimeoutbeingexceededbytheremotehost,oranu
我有一个WPF应用程序,它在Windows关闭时(System.Windows.Application.Current.SessionEnding事件)异步调用WCF方法,然后应用程序关闭。但有时WCF方法永远不会到达服务器端。我在客户端和服务器端都有日志,告诉我请求何时完成。大多数时候它运行良好,我可以看到客户端的请求到达服务器然后应用程序退出。但有时我只能看到客户端发出请求而永远不会到达服务器。我认为问题可能是在关闭Windows的过程中,有时在网络连接已经关闭时从我的WPF应用程序发出WCF请求。这可能是原因吗?如果是,是否有一些解决方法?谢谢 最佳答
我正在使用WCF服务来管理在远程计算机上运行的Windows服务。我们有一个管理客户端,用于修改Windows服务配置,以及实时监控服务状态。对于实时监控,我们每秒轮询服务的状态。目前,我们在监控服务的同时让客户端始终处于连接状态,但我不断读到建议为每次调用连接和断开连接,就像您对数据库所做的那样。在我们频繁调用服务的情况下,是否推荐这样做,或者连接和断开连接是否会给流程增加太多开销?谢谢 最佳答案 默认情况下,作为推荐的最佳实践,您在WCF中使用每次调用激活,例如对您的WCF服务的每个请求都会获得一个服务类的新实例,该实例会处理您
在Windows上,TLS服务器证书(位于证书存储区中)带有私钥(PK),私钥位于CSPkeystore或CNGkeystore中。PK结束的位置,可以在导入证书时指定(即,在最近的Windows版本上),例如使用-sp(主题的提供者)参数到makecert.现在,如果未指定提供者,则默认设置不友好。PK最终出现在CNGKSP中,WCF将无法使用。微软says“.NETFramework4.6.1和更早版本不支持这些证书,因为它们使用旧版CryptoAPI来处理CNG/KSP证书。将这些证书与.NETFramework4.6.1和更早版本一起使用将导致异常。”但是,我看到安装在连接服务
我正在使用IIS7。它启用了HTTPS绑定(bind),端口号为443。我在网站下有一个WCF服务作为应用程序。我正在尝试基于http://msdn.microsoft.com/en-us/library/ms729700.aspx向服务(使用basicHttpBinding)引入HTTPS安全性我收到以下错误-“提供的URI方案‘https’无效;预期'http'。”。当我检查事件日志时,它具有如下堆栈跟踪:StackTrace:atSystem.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Urivia
我编写了一个简单的SOAP服务,该服务返回一个对象,其中包含一个字符串类型的数据成员。当我通过书面测试客户端使用服务时一切正常,但是当我通过VisualStudioWCF测试客户端测试服务时,出于某种原因,当字符串数据成员恰好超过81个字符时,客户端会剪切然后连接字符串再次......如下:而不是显示:“Loremipsumdolorsitamet,consecteturadipiscingelit。Duispurusleovolutpatctoremipsumdolor”测试客户端显示"Loremipsumdolorsitamet,consecteturadipiscingelit.
我正在构建一个将公开多个操作的WCF服务,它将在IIS中运行,因为它需要HTTPS端点。大多数操作将在几秒或更短时间内执行;但是,其中一两个操作需要5-90分钟。此服务的主要使用者将是ASP.NETMVC应用程序;处理这个问题的正确方法是什么?我应该增加超时并进行一些ajax调用吗?我是否应该向我的数据库添加一个表,让长时间运行的操作更新这个数据库,并让Web界面每分钟轮询一次这个表?我不确定对此普遍接受的最佳做法是什么(如果有的话)。 最佳答案 我为我的高级项目写了一些类似的东西,基本上是一个作业调度框架。我选择了将“工作”的“状
迁移到EntityFramework和VS2013后,我无法更新或删除资源。RequestURL:service.svc/Orders(22354)RequestMethod:DELETEStatusCode:500InternalServerErrorRequestHeadersviewsourceAccept:application/json,text/javascript,*/*;q=0.01Accept-Encoding:gzip,deflate,sdchAccept-Language:en-US,en;q=0.8,fr;q=0.6Host:localhostOrigin:ht
我一直在关注thistutorial将protobuf-net添加到我的WCF项目。我有一个共享的DTO库。服务器和客户端都使用这些DTO类。我已将所有服务方法归因于[OperationContract]属性,但我没有在我的DTO类上分配任何[DataContract]属性。我添加了protobuf-netNuget包并将配置添加到web.config。我正在使用IISExpress来测试我的服务,并且认为我应该可以接受到目前为止所做的一切。然而,在测试了几次调用之后,我注意到我忘记将protobuf-net添加到我的客户端,但一切都按预期工作(即没有序列化或反序列化错误)。我怀疑我的