我已经构建了一个小WCF服务,我正在尝试为其构建单元测试。我已经在本地部署了一个数据库,并且该服务可以工作,并且可以保存和读取数据库中的数据。我在同一个解决方案中创建了一个独立的项目,作为控制台应用程序,并带有服务引用来使用此服务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端点)不起作用! http://blogs.msdn.com/b/carlosfigueira/archive/2012/03/26/mixing-add-service-reference-and-wcf-web-http-aka-rest-endpoint-does-not-work。 aspx –