尝试从服务器端代码使用远程 asmx Web 服务 - 具体而言,来自 SignalR 集线器类。
添加引用后,它出现在我的主项目下的解决方案资源管理器中。如果我右键单击并在对象浏览器中查看引用,我会在左侧看到一长串 EventHandler 和 EventArgs(但没有操作)。列表中间是远程服务名称。如果我点击它,我会看到右侧窗格中列出的远程服务操作。我似乎无法在 SignalR 类文件中引用它们。
当我开始在 SignalR 文件中输入参考名称时,代码完成会显示其余部分。但是从那里我无法进行操作。
创建引用时是否有一些设置可以解决这种缺乏访问权限?
更新:
似乎是智能感知问题?当我开始在下面输入代码片段时,它的代码完成了第一部分 - “ThirdPartyService”,因此它知道引用。但在那之后它什么也没给我。如果我输入其余部分,它会在肥皂客户端部分用红色下划线并告诉我它不知道那是什么。
//Call third party service
ThirdPartyService.thirdPartySoapClient client = new ThirdPartyService.thirdPartySoapClient();
client.operation(param1, param2, param3);
我删除并添加了几次服务引用,但没有任何效果。最后我打开了引用的源码,加了几个空格,保存了。这似乎已经开始了一些事情。服务方法调用不起作用,但至少它现在正在编译并且 Intellisense 正在工作。
设置断点我可以看到正在到达服务方法调用并且参数包含正确的数据。但是,在 fiddler 中观看时,我没有看到在到达并执行方法调用行时发出请求。没有错误报告。嗯...这确实是一个单独的问题,也许值得单独发布。