Windows Communication Foundation是.NET Framework的一部分,它为快速构建面向服务的应用程序提供了统一的编程模型。
达到 maxMessagesToLog 时如何旋转 WCF 日志?
我有 WCF 服务并想要启用日志记录。正如 Microsoft 文档配置消息日志记录中所述,我在 Web.config 中添加了以下内容: 我有 WCF 服务并想要启用日志记录。正如 Microsoft 文档配置消息日志记录中所述,我在 Web.config 中添加了以下内容: <system.diagnostics> <sources> <source name="System.ServiceModel.MessageLogging"> <listeners> <add name="messages" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\logs\messages.svclog" /> </listeners> </source> </sources> </system.diagnostics> <system.serviceModel> <diagnostics> <messageLogging logEntireMessage="true" logMalformedMessages="false" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="false" maxMessagesToLog="3000" maxSizeOfMessageToLog="2000"/> </diagnostics> </system.serviceModel> 当最后一个日志中的消息数达到 maxMessagesToLog=3000 时,如何轮换日志,例如写入 messages1.svclog,然后写入 messages2.svclog 等? 我阅读了文章 A Rolling XmlWriterTraceListener,但这会在达到特定文件大小时轮换日志文件。但是,当消息数量达到 maxMessagesToLog 时,WCF 将停止记录日志。 我无法找到如何在达到 maxMessagesToLog 之前轮换日志文件。 我决定每天午夜轮换日志文件。将 maxMessagesToLog 设置为最大整数 = 2147483647,一天内的消息数永远不会超过该值。 我使用了自定义跟踪侦听器,如 WCF 论坛中所述。 public class CustomTraceListener : XmlWriterTraceListener { public CustomTraceListener(string fileName) : base(string.Format(fileName, string.Format("{0}{1}{2}", DateTime.Now.Day, DateTime.Now.Month, DateTime.Now.Year))) { } } <system.diagnostics> <sources> <source name="System.ServiceModel.MessageLogging"> <listeners> <add name="traceListener" type="MyService.CustomTraceListener, MyService" initializeData= "c:\wcflogs\messages_{0}.svclog" /> </listeners> </source> </sources> </system.diagnostics> 我使用回收特定时间 = 00:00:00 创建了我的应用程序池 appcmd add apppool /name:MyApppool/enable32BitAppOnWin64:true /+recycling.periodicRestart.schedule.[value='00:00:00'] 应用程序池的高级设置使用此命令如下: 因此,该进程每天午夜都会被回收,并且消息计数器从0开始。只要我每天的消息少于20亿条,我就会在日志文件中保留所有消息。 另一种选择是使用符号链接。您可以在 IIS 运行时删除和重置符号链接。然后当它回收或重新启动时,将创建一个新文件。 例如,您可以使用如下命令创建符号链接: mklink server_tracelog.svclog server_tracelog_1.svclog 然后在 web.config 中设置此文件“server_tracelog.svclog”,但这将是它写入“server_tracelog_1.svclog”的真实文件 然后也许使用计划任务,您可以运行一个具有如下内容的批处理文件: REM set day of week as %DAYOFWEEK% for /f %%a in ('wmic path win32_localtime get DAYOFWEEK /format:list ^| findstr "="') do (set %%a) del server_tracelog.svclog del server_tracelog_dayofweek_%DAYOFWEEK%.svclog mklink server_tracelog.svclog server_tracelog_dayofweek_%DAYOFWEEK%.svclog 然后,如果您的应用程序池每天回收一次,您每天都会创建一个新日志。
使用 MediaElement 播放 Stream 中的视频
是否可以使用 WPF MediaElement 播放来自 System.IO.Stream 对象的流视频?正在从存储媒体文件的 WCF 服务中检索 Stream 对象。
C# - 自托管服务 - POST 请求 - CORS 错误
我有 WCF 自托管服务,可以与本地连接的打印机进行通信以打印徽章。我们基于浏览器的应用程序调用本地服务来打印徽章。所有 GET 调用都工作正常,但是
我有一个 Windows 服务,它在我的网络上的一台计算机上托管 WCF 服务。我有一个客户端正在尝试连接到网络上另一台计算机上的客户端。我收到以下信息...
使用 AIF Web 服务连接到 Microsoft Dynamics AX 2009
我正在使用 AIF Web 服务连接到 Microsoft Dynamics AX 2009。在 VS2010 中为该服务生成代理,但是当我想使用生成客户端类连接到该服务时,似乎...
BizTalk - 用于具有基本身份验证的 SOAP 1.2 的 WCF 自定义绑定
我有一个可以在 BizTalk 中使用的 Web 服务,它公开 SOAP 1.1 和 1.2 端点,并通过基本 Http 身份验证进行保护。 我正在使用 WCF-Custom 适配器并尝试使用 SOAP 1.2....
ASP.NET Core MVC:WCF 客户端不包含采用 0 个参数的构造函数
我有一个带有 WCF 的 ASP.NET Core MVC 项目。我使用 IIS 将 WCF 发布到远程服务器,并通过以下方式使用客户端: 右键单击“连接服务”> 管理连接服务...
HTTP 401 用户在 C# 的 Web 服务调用中未经授权,在 Postman 中工作
我正在尝试通过在 C# 控制台应用程序中添加服务引用来调用服务。它需要承载身份验证。 当我从邮递员发帖时,它工作正常并返回响应。但当我
如何创建 PHP SOAP 客户端来调用 SSL 下的 WCF Web 服务?
我们在 IIS 中安装的 SSL Web 服务器下有一个 WCF 服务。该 Web 服务是使用 .NET 3.5 和 WCF 3.0 创建的。我们可以使用 .NET 3.5 客户端访问它,没有任何问题。 让我们调用 URL ...
我正在致力于将 wcf 应用程序从 net 4.8 迁移到 6。 基本要求是所有客户必须继续工作而不做任何改变。但对于某些方法来说,...
无法在从 WPF 应用程序使用的 WCF 应用程序中调用 ApplyClientBehavior 方法
无法点击ApplyClientBehavior方法 使用 System.ServiceModel.Description; 命名空间 Utils.CMSAuth { 公共类 AuthorizationHeaderEndpointBehavior :IEndpointBehavior { 公开
.NET 4.5 和 .NET 4.5.1 默认启用 TLS 1.1 和 TLS 1.2 吗?
在我们的 Windows 2012 Server R2 上,我们需要禁用 TLS 1.0。 不过,我们正在运行 .NET 4.5 Wcf 服务。我们发现,如果禁用 TLS 1.0,WCF 服务将不再运行,因为我们得到了 e...
我有一个WCF项目。当我运行它时,有时会启动 WCF 测试客户端,有时则不会。 如何将 WCF 测试客户端设置为始终打开?
如何在 WCF 的帮助下通过 post 发送 xml 数据? 例如我有一些代码: 公共接口 IServiceForILobby { 【运营合同】 [WebInvoke(方法 = "POST")] 字符串 SendXml(
在 Windows 下支持 REST API 的 SSO,而不使用 SPNEGO
我们有一个基于 Windows 的桌面应用程序,它连接到 WCF REST 服务。此服务支持基本身份验证(通过 HTTPS)、承载令牌和 SPNEGO。 SPNEGO 是桌面应用程序使用的...
用于 Microsoft WCF 服务的 Apache CXF 客户端,MTOM 返回 400
我有一个用于 Microsoft WCF 服务的 apache CXF 客户端,并且我正在尝试通过 MTOM 发送文件。但是,我不断收到 400,根据合作伙伴的说法,WCF 端的错误是...
带有 enumMember 属性的枚举比没有此属性的枚举创建更多对象,为什么?
我有 WCF 应用程序,并且我做了简单的测试,仅向一个端点发送大量请求。 在内存分析器中,我看到添加了 EnumMember 属性的枚举类型被创建了数千个对象,但是......
我是 WCF 新手。我有一个客户端,它通过发送用户名和密码作为令牌来建立与 WCF 服务的连接。该服务有一个自定义令牌验证器,它扩展了
无法在.NET Core中使用WCF WebHttpBinding
我正在尝试将我的项目从 .NET 迁移到 .NET Core。 我尝试使用 BasicHttpBinding 和 CustomBinding 在客户端连接我的 WCF 服务,但这会引发错误。 建议如何做
System.ServiceModel.Primitives 在构建时根本没有被引用(尽管相应的 DLL 似乎已正确安装)
在 .Net Standard 2.0 项目中,我无法加载对 System.ServiceModel.Primitives 的引用...它表示,即使我安装了 System.ServiceModel 命名空间,Primitives 也不存在...