我必须创建一个在.NET 2.0环境中的C#控制台应用程序中运行的Web服务。 我无法使用WCF或将目标系统升级到最新的.NET版本。
我搜索了很多但没有找到合适的东西。
有人有建议吗?
答案 0 :(得分:0)
这是如何在Windows服务中托管Web服务的一个老例子。
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
}
public partial class WindowsServiceToHostASMXWebService : ServiceBase
{
public WindowsServiceToHostASMXWebService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Uri address = new Uri("soap.tcp://localhost/TestService");
SoapReceivers.Add(new EndpointReference(address), typeof(Service ));
}
protected override void OnStop()
{
SoapReceivers.Clear();
}
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// Change the following line to match.
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new WindowsServiceToHostASMXWebService() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
}