我有一个WCF服务,用于配置托管在将用于维护数据库的Windows服务中的内容。有什么方法可以访问托管服务内的WCF服务吗?或者我应该将数据库功能移动到另一个WCF服务并将它们都托管在Windows服务中吗? 最佳答案 服务类(实现服务接口(interface)的类)有一个属性OperationContext.Current.Host它使您可以访问托管您的服务的ServiceHost实例。您可以很容易地访问该服务主机。没有内置方法可以超越服务主机并操纵或查询包含服务主机的NT服务。但是您始终可以创建自己的自定义ServiceHost
有什么方法可以使用WCF和C#登录Windows机器吗?我正在创建一个测试工具,它需要远程登录Windows用户。到目前为止,我们还没有成功,因为一旦用户从机器上注销,自托管WCF就会关闭。 最佳答案 您的问题是您将服务托管为控制台应用程序。当用户注销时,应用停止。在Windows服务中托管您的服务,这将使它能够在没有用户登录的情况下启动和运行。MSDNonhostinginawindowsservice作为提示,在OnStart方法中添加以下行:Debugger.Launch();和一条using语句:usingSystem.Di
我在使用来自C#Windows服务的Windows模拟通过net.pipe调用WCF服务时遇到问题。背景该服务从队列中读取并创建子应用程序域,每个应用程序域根据从队列中拉出的项目运行一个特定的模块。我们将Windows服务称为“JobQueueAgent”,将每个模块称为“作业”。我将继续使用这些术语。可以将作业配置为以指定用户身份运行。我们在作业的应用程序域内使用模拟来完成此操作。以下是服务中的逻辑和凭证流:JobQueueAgent(Windows服务-主要用户)>>创建作业域>>工作域(应用域)>>模拟子用户>>使用模拟在线程上运行作业>>作业(模块-子用户)>>作业逻辑“主用户
我创建了WCF,并使用wsHttpBinding和MTOM作为消息传输,并将身份验证作为“Windows”。现在我的服务不是当前安全的,它是纯HTTP,在自定义端口上运行。WCF的wsHttpBinding的Windows身份验证安全吗?任何人都可以通过网络跟踪看到或猜测密码吗?环境信息:托管在互联网上没有ActiveDirectory,只有一个服务器使用服务器的管理员用户名和密码从我的办公室连接在客户端,配置文件中没有提到密码,它是在运行时输入的。它可以正常工作,因为输入错误的凭据也会返回某种安全异常。在自定义端口89上运行.NET4.0,目前我在我的自定义Windows服务的app
我有一个用C++编写的简单.exe(使用VisualStudio2005构建),它使用提供的API测试一些硬件。它在我构建它的Windows7机器上运行良好,但是当我将它复制到另一台(Windows7)机器并运行它(从命令行)时,我得到:Theapplicationhasfailedtostartbecauseitsside-by-sideconfigurationisincorrect.Pleaseseetheapplicationeventlogorusethecommand-linesxstrace.exetoolformoredetail.什么是“并排配置”?我运行了sxstr
我在远程机器上托管了一个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服务的每个请求都会获得一个服务类的新实例,该实例会处理您
我正在尝试编写一个CMakeLists.txt,它作为构建后事件所需的dll从外部库复制到构建后可执行文件所在的文件夹.我正在使用的操作系统是Win7和VS2010。有很多外部库,所以我不想在CMakeLists.txt中单独列出它们。我当前的解决方案是使用文件通配并为每个库创建一个构建后事件:FILE(GLOBfiles"${LIBRARY_DIR}/lib/$(ConfigurationName)/*dll")MESSAGE("FILELISTIS:${files}")FOREACH(file${files})ADD_CUSTOM_COMMAND(TARGETmylibPOST_B
在Windows上,TLS服务器证书(位于证书存储区中)带有私钥(PK),私钥位于CSPkeystore或CNGkeystore中。PK结束的位置,可以在导入证书时指定(即,在最近的Windows版本上),例如使用-sp(主题的提供者)参数到makecert.现在,如果未指定提供者,则默认设置不友好。PK最终出现在CNGKSP中,WCF将无法使用。微软says“.NETFramework4.6.1和更早版本不支持这些证书,因为它们使用旧版CryptoAPI来处理CNG/KSP证书。将这些证书与.NETFramework4.6.1和更早版本一起使用将导致异常。”但是,我看到安装在连接服务