我通过 WCF 创建了一个甜蜜的 ASP.NET 4.0 UDP 侦听器,该侦听器从 Application_Start 开始。像往常一样,我的本地机器上的一切都是笨拙的。在我使用 VS 开发环境并将其设置为在调试时不打开任何页面的本地计算机上,侦听器启动时尚未浏览任何内容。但是,每当我部署到我的共享主机时,我必须通过 Web 浏览器访问该站点,然后侦听器才会启动。我无法访问 IIS 控制面板,但我可以通过“网站面板”软件对 IIS 进行一些有限的设置更改。我相信共享主机使用 IIS 7.5。
有没有更好的方法来解决这个问题,而不是从我的家用 PC 创建轮询服务以每隔一段时间向共享主机发送 HTTP 请求以启动侦听器?
要求
- 客户端通过可配置的端口发送 UDP 数据包。除了客户端用于连接的 IP 和端口之外,我无法更改任何内容
- 该解决方案必须与我的共享主机一起使用,因为此时我买不起 VPS - 否则我会创建一个 Windows 服务。我之前通过 WCF Application_Start 创建轮询服务来解决创建窗口服务的问题,但这仅有效,因为用户看到的信息必须在网页上,因此始终会调用 application_start。在这种情况下,用户/客户不一定访问网页。
想法:
- 以某种方式将其拉入.svc。这样,当客户端访问 .svc 时,它会启动其他所有人的侦听器。但是在 80 端口上运行的 .svc 怎么能接受 UDP 调用呢?我也不确定客户端是否能够连接到多个 IP:PORT(我认为它不会接受像 URL.com/awesomeListener.svc 这样的 .svc 路径)。
有什么建议么?太感谢了。