2010-05-26 1 views
0

Я планирую, чтобы настольное приложение взаимодействовало с некоторыми страницами .ASP или .ASPX на сервере.Предложения/указатели для Post/Get на страницу .ASP (или .ASPX) из настольного приложения

Я только сделал немного с .asp страниц, и я имею в виду я просто пост или получить URL с некоторыми переменными:

MySite.com/Functions.asp?FunctionName=?Paramater1 = somevalue? Parameter2 = ...

Мне интересно, есть ли лучший способ сделать это?

Я что-то упустил? Может быть, лучший способ сделать это?

ответ

2

Windows Communication Foundation или веб-службы могут быть лучше, если вам не нужны накладные расходы на веб-странице, требуемые ASP или ASPX. Это будут мои предложения о том, как лучше это сделать. Предполагается, что у вас уже нет страниц, которые уже созданы и находятся на ранних стадиях проектирования.


WCF лучше, если вы просто хотите, чтобы услуги сообщаться назад и вперед, которые могут вынимает часть того, что HTTP устанавливает и ручками, но может быть лучше, если вы хотите, чтобы минимизировать данные, передаваемые по всему я бы думать. WCF является частью фреймворка .Net 3.0, поэтому он может быть не обязательно установлен, поскольку в некоторых случаях он может быть установлен по умолчанию. Например, это то, что заменил .Net Remoting, который был бы более старым способом передачи объектов между машинами другими способами с использованием нестандартных портов и может быть немного более полезной с точки зрения инфраструктуры. Веб-службы лучше, если вам не нужно все, что есть на веб-странице, и все в порядке с сообщениями в SOAP или POX или в другом формате, который не должен быть HTML. Вместо ASPX у вас будет ASMX и некоторый код, но теоретически наличие хорошо построенного набора сервисов должно помочь, если вам когда-либо придется добавлять веб-интерфейс или привязываться к чужим системам.

+0

Как вы думаете, WCF или WS были бы лучше? –

+0

Каковы некоторые из способов, по которым вы считаете, что WCF или WS лучше? (Кстати, я стараюсь, чтобы часть веб-сервера была как можно более простой. Я не хочу, чтобы * устанавливать * что-либо на сервере, например.) –

+0

FYI, я разместил этот вопрос о последующих действиях (выше) до: http://stackoverflow.com/questions/2917981/any-benefits-of-using-windows-communication-foundation-web-services-vs-a-simp –

0

Изучите архитектуру вашей серверной части как RESTful. В кадре это означает, что вы раскрываете «ресурсы» и применяете для них известный интерфейс (CRUD). Подробную информацию об этом можно прочитать здесь: http://www.xfront.com/REST-Web-Services.html

p.s. очень смешное объяснение здесь: http://tomayko.com/writings/rest-to-my-wife

1

Предложения с WCF и REST - все это хорошие предложения, но если вы просто хотите что-то более простое, вы можете просто попробовать System.Net.WebClient.

.NET C# Пример:

Например метод DownloadString, который возвращает строку из указанного URL.

string status = WebClient.DownloadString("http://yourdomain.com/check-app-status.asp(x)"); 
if (status == "blabla") 
{ 
} 

VB6 образец Форма применения:

Private Sub Form_Load() 

Dim http 
Set http = CreateObject("MSXML2.ServerXMLHTTP") 

http.open "GET", "http://example.com/", False 
http.send "" 

ResponseTextBox.Text = http.responseText 

End Sub 

В приведенном выше примере VB6 предполагает, что у вас есть текстовое поле под названием ResponseTextBox на форме

В вашем ASP (.NET) страниц, которые вы можете сделать что-то как:

Response.ContentType = "text/plain"; 
Response.Write(AppStatus); 

Для получения дополнительной информации см: http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.80).aspx

+0

К сожалению, WebClient является объектом VB.net. Я использую VB6. –

+0

Могу ли я предложить вам также пометить свой вопрос с помощью VB6? –