注册 登录
编程论坛 ASP.NET技术论坛

求教:asp.net Web Service如何向窗口发送消息?

逃命未成 发布于 2013-12-11 14:20, 1046 次点击
小弟的任务是写一个Web Service接收手机端发送来的数据。现在的问题是需要让Web Service每接收一个数据就通知一下管理窗口,让他刷新列表。小弟在网上搜索到的结果都是使用Win32API的FindWindow和SendMessage。可Web Service程序早晚是要部署在服务器上的,服务器的系统不见得是32位的。因此小弟一筹莫展,特来敬求各位大侠指点迷津!
9 回复
#2
yms1232013-12-11 17:35
首先你要明确你的管理窗口是WebForm还是WinForm,其次这个管理窗口在哪里?服务器网站上?还是手机上?
#3
逃命未成2013-12-12 08:32
回复 2楼 yms123
窗口是WPF的,与 Web Service在同一台服务机器上,属于管理工具。
#4
逃命未成2013-12-12 08:32
回复 2楼 yms123
是桌面窗口。
#5
逃命未成2013-12-12 13:03
我查了一下,Win32API在64位系统上也可以用。但问题仍然没有解决。如果用Win32API的话就得用SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam),而其中的Msg是有重要意义的,如果Msg不正确,管理窗口就收不到消息。可小弟不知道在 Web Service环境下Msg应该是多少,因此继续求教各位大侠!
#6
逃命未成2013-12-12 13:53
我又错了。之所以Msg必须采用特定值,是因为要避开系统消息值。我在winform中试验用的Msg已经避开系统预定值了,winform也成功了。但Web Service就是不行。看来Win32API这招不好使。
#7
逃命未成2013-12-12 19:06
最新的结果是在 Web Service中使用Win32API的话,如果是VS调试,就好使,如果部署到IIS,就不好使。也不知道是被应用程序池给挡住了还是被IIS挡住了。
#8
逃命未成2013-12-12 19:08
有没有高人给解决一下 Web Service在IIS里无法对桌面窗口FindWindow和SendMessage的问题?或者有其他解决方案也行。小弟泪奔跪求!
#9
逃命未成2013-12-22 13:26
我用Socket解决了。感谢版主yms123的关注。
#10
wangnannan2014-01-02 15:32
你可以用wcf双工通信啊 这种程序和心跳包之类的 还是很相似的
1