我有一个WCF服务,它在IIS中托管.我也有一个WCF客户端(一个控制台应用程序).我已经习惯于svcutil构建代理类和配置文件,然后将它们添加到我的客户端项目中.它建立得很好.但是当我试图运行该程序时,它抛出了以下异常
无法在ServiceModel客户端配置部分中找到引用合同"IService"的默认端点元素.这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素.
//我的客户端程序代码
namespace MyFirstWCFClient
{
class Program
{
static void Main(string[] args)
{
ServiceClient objClient = new ServiceClient();
Console.WriteLine("Client calling the service....");
string strName=Console.ReadLine();
Console.WriteLine(objClient.HelloWorld("Shyju"));
Console.Read();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的客户端的Output.config文件是
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
algorithmSuite="Default" establishSecurityContext="true" /> …Run Code Online (Sandbox Code Playgroud) 我运行MVC3应用程序时收到此错误:
自创建数据库以来,支持'MoviesDB'上下文的模型已更改.手动删除/更新数据库,或使用IDatabaseInitializer实例调用Database.SetInitializer.例如,DropCreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可选择使用新数据对其进行种子设定.
我使用的是EF 4.1.请建议解决方案.
你如何用GDI绘制透明椭圆?我试过SetBkMode()但我仍然得到一个白色的椭圆形bk.
case WM_PAINT:
{
hdc = BeginPaint(hwnd, &ps);
SetBkMode(hdc, TRANSPARENT); // doesnt work
Ellipse(hdc, 0,0,500,500);
EndPaint(hwnd, &ps);
break;
}
Run Code Online (Sandbox Code Playgroud) 我想删除Log我在创建android项目时添加的所有语句.这是因为我现在将最终项目发送给我的客户.
是否有快捷方式可以自动查找所有Log语句并删除它们?
这将节省转到单个Log语句然后删除它们的工作量.
有没有办法创建一个扩展方法,其参数的唯一约束是具有特定命名的属性.例如:
public static bool IsMixed<T>(this T obj) where T:?
{
return obj.IsThis && obj.IsThat;
}
Run Code Online (Sandbox Code Playgroud)
我试图声明它obj是动态的,但不允许.
这段代码:
#include <stdio.h>
int main(void)
{
void *ptr;
int arr[] = {1,2,3,4,5};
ptr = arr;
ptr++;
printf("%d",*(int*)ptr);
}
Run Code Online (Sandbox Code Playgroud)
打印一些垃圾值,但我期待它打印2.为什么不打印2?
socket.io源脚本就像70k,很大一部分是注释,空格......
我需要将该脚本缩小到更小的大小某些脚本甚至没有空格,代码都是这样,这会减少脚本的原始大小.
socket.io脚本的位置在哪里,以便我可以删除注释和空格?或者是否有一个socket.io已经没有注释和空格较小的尺寸?
首先让我定义一下单元测试和端到端测试的含义。假设您有一个带有一堆Java类的程序:A调用B,B调用C,依此类推。
单元测试是针对A模仿B的测试,另外是针对B模仿C的测试,依此类推。
端到端测试是针对A的测试,该测试对A以及可传递的B和C进行测试。
为简单起见,并且为了使讨论集中于当前主题,而不是被次要细节分散注意力,让我们假设系统总体上是无状态的:您使用输入调用顶层(A),然后得到一个输出。给定输入只有一个有效输出。
需要明确的是,我这里没有包括外部系统,例如到其他服务器的RPC,数据库,外部状态(例如文件系统),任何类型的UI(“以编程方式点击Delete按钮来删除当前文档”)等等。我们只是在谈论同一过程中的一堆类。
现在,可以采用两种方法:
编写端对端测试,尝试覆盖所有可能的输入和状态。仅在需要时才编写单元测试,例如,如果某个特定的类没有通过端到端测试进行充分测试,或者端到端测试失败,并且发现编写单元测试来本地化错误很有帮助。但总的来说,目标是进行全面的端到端测试。
编写单元测试以详尽地测试每个类或组件。写一个端到端的测试作为事后的想法,或者根本不做。即使编写它,也不要尝试详尽地测试所有可能的输入。
我更喜欢(1),因为如果端到端测试通过并且是详尽无遗的,那么我知道该系统对于我测试的所有情况都适用。尽管每个类或组件均能正常工作,但它们之间的集成点仍可能存在错误,这是我看到的大多数错误发生的地方(对不起,我现在没有参考)。
那么,以下哪一项对您更有效-进行了全面的端到端测试或进行了完整的单元测试?为什么?请给出具体原因,以便我和其他读者自己评估答案。
如果这个问题更适合Programmer.stackexchange.com,请移至那里(主持人)。
我希望通过使用AutoFixture和NSubstitue,我可以使用每个人提供的最好的东西.我自己使用NSubstitute取得了一些成功,但我对如何将它与AutoFixture结合使用感到困惑.
我的下面的代码显示了我想要完成的一系列事情,但我的主要目标是完成以下场景:测试方法的功能.
Data.Execute并确认结果我想要尝试的测试是:"should_run_GetCommand_with_provided_property_value"
任何有关如何使用NSubstitue和AutFixture的文章的帮助或参考都会很棒.
示例代码:
using FluentAssertions;
using NSubstitute;
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoNSubstitute;
using Xunit;
namespace RemotePlus.Test
{
public class SimpleTest
{
[Fact]
public void should_set_property_to_sepecified_value()
{
var sut = Substitute.For<ISimple>();
sut.Data.Returns("1,2");
sut.Data.Should().Be("1,2");
}
[Fact]
public void should_run_GetCommand_with_provided_property_value()
{
/* TODO:
* How do I create a constructor with AutoFixture and/or NSubstitute such that:
* 1. With completely random values.
* 2. With one or more values specified.
* 3. …Run Code Online (Sandbox Code Playgroud) c# ×2
unit-testing ×2
.net ×1
android ×1
autofixture ×1
c ×1
c++ ×1
drawellipse ×1
eclipse ×1
end-to-end ×1
gdi ×1
generics ×1
geometry ×1
iis ×1
java ×1
node.js ×1
nsubstitute ×1
pointers ×1
regex ×1
socket.io ×1
wcf ×1
wcf-client ×1