我最近继承了许多WCF Web服务,这些服务配置为在Web项目中使用ASHX处理程序以http://example.com/Services/V1/MyService.svc的形式呈现.SVC文件。服务在开发和生产环境中运行,WSDL出现,并且在新项目中添加服务引用允许我调用MyMethod并获得与预期完全相同的响应。
错误处理和日志记录的故事并不是很好,因此我尝试在本地运行该站点并向http://localhost:1234/Services/V1/MyService.svc添加服务引用。我可以在该URL加载服务并查看为生产环境显示的相同WSDL,但是当我尝试使用类似于以下内容的代码来调用我的方法时,客户端和响应对象都不会被识别出来连接到生产。
using MyServiceTestProject.LOCAL_MyService;
//...
MyServiceClient test = new MyServiceClient();
MyServiceMethodResponse r = test.MyServiceMethod("arguments!");
我能够看到一个仅在我的服务中声明的MyCustomObject类,并且当我停止使用服务引用时停止可用,所以我知道即使它不是人们期望的所有东西也会遇到
当我比较本地和dev / prod环境时,Web.Config文件的相关部分是相同的,并且本地运行的项目是部署到其他框的项目。
有没有人遇到过这种使用IIS Express在本地运行服务项目的行为?
编辑:. prod,dev和本地环境之间的端点不同,每个端口使用相同的代码。谢谢你指出我最初省略的细节。
答案 0 :(得分:0)