我是新的 WCF 编程,我确实从以下链接遵循了一系列入门教程
http://msdn.microsoft.com/en-us/library/ms734712.aspx
我在控制台应用程序中托管了服务,但是当我尝试创建客户端并尝试添加服务引用时,出现以下异常。
下载“http: localhost:8000/GettingStarted/mex/_vti_bin/ListData.svc/$metadata”时出错。请求失败,HTTP 状态为 405:方法不允许。元数据包含无法解析的引用:'http: localhost:8000/GettingStarted/mex'。在 http: localhost:8000/GettingStarted/mex 上没有可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。远程服务器返回错误:(404) Not Found。如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。
托管应用程序代码
class Program
{
static void Main(string[] args)
{
// Step 1 Create a URI to serve as the base address.
Uri baseAddress =
new Uri("http://localhost:8000/GettingStarted/");
// Step 2 Create a ServiceHost instance
ServiceHost selfHost =
new ServiceHost(typeof(CalculatorService), baseAddress);
try
{
// Step 3 Add a service endpoint.
selfHost.AddServiceEndpoint(typeof(ICalculator),
new WSHttpBinding(),
"CalculatorService");
// Step 4 Enable metadata exchange.
var smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
// Step 5 Start the service.
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown.
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("exception: {0}", ce.Message);
selfHost.Abort();
}
}
}
现在我无法弄清楚问题是什么。我正在使用 Visual Studio 2012 和 .net 平台 4.5。