我引用了示例http://msdn.microsoft.com/en-us/library/aa717041(v=vs.110).aspx
编译并执行列出的步骤后,我使用“以管理员身份运行”启动激活器。稍后我触发客户端调用,它到达服务器,我在事件查看器中收到以下错误。
尝试读取和实例化配置时发生错误 ProcessHandlerType。
异常:System.ArgumentException
消息:未知协议ID'net.udp'。
StackTrace:at System.Web.Hosting.ProcessHost.StartProcessProtocolListenerChannel(字符串 protocolId,IListenerChannelCallback listenerChannelCallback)
就在此消息之前(由udp激活器启动的最后一步..)和事件查看器通过以下消息记录开始
侦听器适配器协议'net.udp'已成功连接到Windows 流程激活服务。
我检查了以下内容。
普通UDP示例控制台基于exe的UDP测试在同一环境中正常工作(所以没有防火墙......等)
我确保默认网站包含Bindings中的所有协议,并且启用协议“http,net.udp”
环境(win8EE)的框架一直到v4.5但默认的app pool使用配置为v4.0
所有项目都是针对4.0编译的,并且支持运行时正确地提到为v4.0(也是sku)
让我知道我需要检查其他任何内容。
更新:
进一步检查错误消息与权限有关(我不改变应用程序池权限,但在上述过程中配置的身份是当前登录用户,存储在appHost配置文件中,也是当前登录用户是管理员组的一部分)我想,
消息1:
工作进程'6300'中协议'net.udp'的侦听器通道 服务应用程序池'DefaultAppPool'报告了一个监听器通道 失败。数据字段包含错误编号。
消息2 :(这是最后一条消息)源“User Profile Service”
Windows检测到您的注册表文件仍被其他人使用 应用程序或服务。该文件现在将被卸载。该 保存您的注册表文件的应用程序或服务可能无法运行 之后适当的。
详细信息 - 从中泄漏的4个用户注册表句柄 \注册\用户\ S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415: 过程6300 (\ Device \ HarddiskVolume1 \ Windows \ SysWOW64 \ inetsrv \ w3wp.exe)已打开 键 \ REGISTRY \ USER \ S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415 过程6300 (\ Device \ HarddiskVolume1 \ Windows \ SysWOW64 \ inetsrv \ w3wp.exe)已打开 键 \ REGISTRY \ USER \ S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415 \控制 Panel \ International Process 6300 (\ Device \ HarddiskVolume1 \ Windows \ SysWOW64 \ inetsrv \ w3wp.exe)已打开 键 \ REGISTRY \ USER \ S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415 \软件\微软\的Windows NT \ CurrentVersion Process 6300 (\ Device \ HarddiskVolume1 \ Windows \ SysWOW64 \ inetsrv \ w3wp.exe)已打开 键 \ REGISTRY \ USER \ S-1-5-82-3006700770-424185619-1745488364-794895919-4004696415 \ SOFTWARE \ Microsoft.NETFramework
两条消息都指向同一个进程,即6300。