最近想学习和使用WCF,于是下载调试微软WCF示例程序GettingStarted程序,总是不能成功,以此请教WCF。
先说直接调试出现的问题:
1、远程服务器返回了意外响应:(405)Method not allowed,此错误指向Client.cs中的
static void Main()
{
// Create a client
CalculatorClient client = new CalculatorClient(); // Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2); ---错误就指向这里
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result); // Call the Subtract service operation.
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);
client.Close(); Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate client.");
Console.ReadLine();
}
2、我到IIS中看了一下,有一虚拟目录:ServiceModelSample,该虚拟目录是自动生成的吧?
先说直接调试出现的问题:
1、远程服务器返回了意外响应:(405)Method not allowed,此错误指向Client.cs中的
static void Main()
{
// Create a client
CalculatorClient client = new CalculatorClient(); // Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2); ---错误就指向这里
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result); // Call the Subtract service operation.
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);
client.Close(); Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate client.");
Console.ReadLine();
}
2、我到IIS中看了一下,有一虚拟目录:ServiceModelSample,该虚拟目录是自动生成的吧?
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://Microsoft.ServiceModel.Samples", ConfigurationName="Microsoft.ServiceModel.Samples.ICalculator")]
public interface ICalculator
{
[System.ServiceModel.OperationContractAttribute(Action="http://Microsoft.ServiceModel.Samples/ICalculator/Add", ReplyAction="http://Microsoft.ServiceModel.Samples/ICalculator/AddResponse")]
double Add(double n1, double n2);
[System.ServiceModel.OperationContractAttribute(Action="http://Microsoft.ServiceModel.Samples/ICalculator/Subtract", ReplyAction="http://Microsoft.ServiceModel.Samples/ICalculator/SubtractResponse")]
double Subtract(double n1, double n2);
[System.ServiceModel.OperationContractAttribute(Action="http://Microsoft.ServiceModel.Samples/ICalculator/Multiply", ReplyAction="http://Microsoft.ServiceModel.Samples/ICalculator/MultiplyResponse")]
double Multiply(double n1, double n2);
[System.ServiceModel.OperationContractAttribute(Action="http://Microsoft.ServiceModel.Samples/ICalculator/Divide", ReplyAction="http://Microsoft.ServiceModel.Samples/ICalculator/DivideResponse")]
double Divide(double n1, double n2);
}
这里如果要手工修改,是否要将Action修改为本地的如为Http://localhost/serviceModelSample,具体怎样修改?
我发现许多讲解WCF编程的书,都没有讲清具体怎样进行配置,都是拷贝人家微软MSDN中的内容,都让人看得懂,却还是不会做的感觉啊
浏览“此解决方案中的WEB服务”时,提示:当前解决方案时未找到WEB服务.
这是怎样会事呢?