使用AppFabric 承载WCF和WF服务【注意点和问题的解决方法】
前面几个文章 http://www.cnblogs.com/2018/category/263041.html 接了Appfabric的概要和分析,实际使用中还有一些注意的问题,总结一下。
数据库访问
由于IIS应用池的账户【默认BUILTIN\IIS_IUSRS】设置不同,因此数据库需要对这个用户赋予权限,否则访问数据库会出现问题,出现问题时在Windows日志中会有记录
Widnows 事件查看器
如果出现问题,可以先察看这个里面是否记录了相关信息,这个是比较重要的一个线索,许多的错误和异常都在这里有记录
WCF信息跟踪
如果WCF信息有问题,可以跟踪WCF信息的详细内容进行辅助判断,具体步骤如下:
通过VS的Tools\WCF Service Configuration Editor菜单启动SvcConfigEditor.exe,配置诊断
然后查看跟踪文件可以看到WCF的通讯细节以确定问题
IIS中的”为应用程序配置WCF和WF”的监控选项页也可以设置这个跟踪
使用中的高级话题
日志设置和清理
跟踪级别:不同的跟踪类型产生日志的量是由很大差别的,因此需要根据情况设置跟踪级别,只在需要跟踪错误时才设置跟踪诊断,这种方式产生的日志量较大,便于处理错误时找线索
日志文件由于不断记录,因此需要一定的方式确保数据文件不会无限的扩张,有两个办法,如下:
日志的自动清理
系统默认安装配置了清理,默认的处理是:
SQL Server代理中的作业定期根据ASConfigurationPropertiesTable的设置运行ASAutoPurge存储过程进行数据库的清理,防止数据库的无限增长
ASConfigurationPropertiesTable
[APEnabled] [bit] NOT NULL, 1表示启用自动清理
[APThreshold] [int] NULL, 数据文件最大值默认1500M
[APMaxEventAge] [float] NULL, 清理过期的事件最大天数,默认NULL
[APTrimPercentage] [int] NULL, 每次清理的百分比,默认10%
手动方式清理
使用AppFabric提供的PowerShell Cmdlet完成
首先启动PowerShell,输入如下的命令:
Import-Module ApplicationServer
Get-Command –module ApplicationServer 这个可以看到Appfabric提供PowerShell命令
Clear-ASMonitoringSqlDatabase 根据提示输入数据库即完成清理
这里的Cmdlet有很多,可以使用get-help ** -detail查看需要使用cmdlet的详细信息