【发布时间】:2015-06-07 05:09:31
【问题描述】:
我已经构建了一个小型 WCF 服务,我正在尝试为其构建单元测试。我已经在本地使用数据库部署了此服务,并且该服务可以正常工作并且可以保存和读取数据库中的数据。我在与控制台应用程序相同的解决方案中创建了一个单独的项目,并使用服务引用来使用此服务。
代码如下:
服务合同
[ServiceContract]
public interface IUserService
{
//When testing in the browser use verb GET
[OperationContract]
[WebInvoke(Method="POST", UriTemplate = "/CreateNewUserAccount?userNameValue={userName})]
void CreateNewUserAccount(string userName);
}
服务实现:
public void CreateNewUserAccount(string userName)
{
var userContorller = new UserController();
userContorller.addNewUser(userName);
}
带有服务参考的控制台客户端:
static void Main(string[] args)
{
try
{
UserServiceClient serviceClient = new UserServiceClient("");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
这是我如何在浏览器中调用服务的示例: http://localhost:8654/Services/UserService/UserService.svc/CreateNewUserAccount?userNameValue=testUser
当我在本地运行服务时,我已经确认这可以工作。现在我从控制台客户端收到的异常是:
在 ServiceModel 客户端配置部分中找不到名称为“”和合同“SerficeReference.IUserService”的端点元素。
当我链接服务引用时,似乎我缺少端点并且在 app.config 中没有生成任何内容。我在 app.config 中尝试了许多配置,但我似乎无法弄清楚这一点。当我尝试在控制台应用程序中实例化服务客户端时发生异常。我的 app.config 如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
任何帮助将不胜感激。
【问题讨论】:
-
您尝试执行的操作(添加对 WCF Web HTTP 端点的服务引用)不起作用! blogs.msdn.com/b/carlosfigueira/archive/2012/03/26/…
标签: c# .net web-services wcf service