2015-08-26 5 views
-3

Мне нужно создать веб-службу, запущенную в приложении консоли C# в среде .NET 2.0. Я не могу использовать WCF или обновить целевую систему до последней версии .NET.Создать .NET 2.0 Standalone WebService

У меня много googled, но не нашел ничего подходящего.

У кого-то есть предложение?

+2

Спросите, кто настаивает на каких-либо обновлений, если они действительно рады за решение построить на вершине базы, которая была из [основной поддержки] (https://support.microsoft.com/en -us/lifecycle/search? sort = pn & alpha = .net% 20framework) в течение почти 4 лет и имеет только более чем один год поддержки. –

+0

Можете ли вы получить операционную систему, которая, по крайней мере, не имеет .net 3.5.1? Разумеется, это означает, что ОС не поддерживает расширенную поддержку. – Aron

+0

К сожалению, веб-служба будет установлена ​​также в старой устаревшей среде с Windows 2000 и .net 2.0. Нам не разрешено обновлять .net или обновлять o/s. – Slevin

ответ

0

Это старый пример того, как разместить веб-сервис в службе Windows.

[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); 
     } 
    } 
+0

старайтесь избегать отправки ссылок только по ссылкам, так как они считаются низкими качествами (а также может быть разорвана связь в будущем). – Jonesopolis

+0

Если вы сделаете эту работу для консоли это было бы фактическим ответом на вопрос. Не забудьте объяснить, что OP нуждается в загрузке WSE3.0 для этого, чтобы летать. – rene