我正在尝试将WCF服务添加到我现有的ASP.NET MVC Web应用程序中,但是使用WCF测试客户端应用程序,我不断获得HTTP 404以获取.svc文件的URL。
当我将新的WCF服务添加到项目中时,它似乎会自动对web.config文件进行一系列更改。我试图在global.asax文件中破解我的路由以忽略.svc文件,看看是否有帮助 - 它没有。
我还使用Visual Studio中的编辑器工具编辑了WCF配置设置,以添加基本的http端点。
我只需要为项目的一小部分提供WCF服务,以便与另一个广泛使用WCF的系统进行集成。
更新:当我在提供的对话框中添加URL http://localhost/LabManagerDev/Development/SoftwareRequests.svc时,以下是WCF测试客户端应用程序的一些输出。
错误:无法从http://localhost/LabManagerDev/Development/SoftwareRequests.svc获取元数据 如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档。 WS-Metadata Exchange错误 URI:http://localhost/LabManagerDev/Development/SoftwareRequests.svc 元数据包含不能的引用 已解决:'http://localhost/LabManagerDev/Development/SoftwareRequests.svc'。 HTTP请求未经授权,客户端身份验证方案为“匿名”。该 从服务器收到的身份验证标头是“Negotiate,NTLM”。 远程服务器返回错误:(401)未经授权。 HTTP GET错误 URI:http://localhost/LabManagerDev/Development/SoftwareRequests.svc 下载“http://localhost/LabManagerDev/Development/SoftwareRequests.svc”时出错。 请求失败,HTTP状态为404:Not Found。
答案 0 :(得分:0)
在全局文件中(配置了全局路由),请务必为svc文件添加特定的忽略。
答案 1 :(得分:0)
两个问题:
从this site开始,必须从“C:\ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation”位置运行ServiceModelReg -i。