Этот простой WebserviceHost работает, когда я его компилирую для .NET3.5, но не в 4.0 Я обращаюсь к нему из своего браузера с URL-адресом http: // mycomputer: 8081/SVC/HelloWorldWebServiceHost возвращает 405 не разрешено в GET в .NET4.0
Версия 3.5 возвращает строку «Hello World! @ < времени >», но версия 4.0 возвращается - 405 не разрешено.
Кто-нибудь знает, почему?
Я использую .net4.0 на 64-битной машине Win7 SP1
using System;
using System.Web.Services;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Collections.Generic;
using System.Runtime.Serialization;
[ServiceContract]
public interface IMyService
{
[OperationContract]
[WebGet(UriTemplate = "HelloWorld")]
string HellWorld();
}
public class MyService : IMyService
{
public string HellWorld()
{
return "Hello World! @ " + DateTime.Now.ToString("s");
}
}
public class MyClass
{
public static void Main()
{
string myComputer = "myComputer";
string mySvcUri = "http://" + myComputer + ":8081/SVC";
Uri[] baseAddresses = new Uri[] { new Uri(mySvcUri) };
WebServiceHost hostVisits = new WebServiceHost(typeof(MyService), baseAddresses);
BasicHttpBinding binding = new BasicHttpBinding();
hostVisits.AddServiceEndpoint(typeof(IMyService), binding, "MyService");
hostVisits.Open();
Console.WriteLine("Service host started, press any key to exit");
Console.ReadKey();
}
}
Ничто не написано в журнал событий.
Интересно, что это работает на виртуальной машине с windowsXP/.net4.0, которую я также использую для разработки. – mortb