Можем ли мы предоставить открытые свойства веб-сервиса на стороне клиента? - PullRequest
1 голос
/ 19 августа 2011

Я понимаю, что веб-сервисы не имеют состояния. Я хочу знать, есть ли какой-нибудь способ, которым мы можем предоставить общедоступные свойства (получатели и установщики) веб-службы на стороне клиента (сторона клиента является потребителем vb, а не JavaScript)?

Ответы [ 3 ]

0 голосов
/ 19 августа 2011

Веб-сервисы основаны на методах, поэтому они не предназначены для доступа к свойствам.

Но нет никаких причин, по которым вы не можете создавать методы GetX / SetX, которые представляются как обычные методы обслуживания - просто убедитесь, чтоВы включаете атрибут [WebMethod].

0 голосов
/ 19 августа 2011

Как уже предлагали другие, вам нужно будет использовать методы get / set вместо свойств.

Что касается доступа к веб-службе из JavaScript, просто укажите имя метода в URL-адресе и выполните XmlHttpRequest.

0 голосов
/ 19 августа 2011

Единственное, что вы можете «выставить» из веб-службы, это [WebMethod].


Вы можете получить доступ к своему веб-сервису с помощью кода, подобного следующему:

Dim svc as New WebReference.MyWebService()
Dim result As Integer = svc.GetSomeInteger()
svc.SetSomeInteger(result)
Dim result2 As Integer = svc.GetSomeInteger()

Вы можете подумать, что создали экземпляр класса веб-службы. Вы не. Вы только создали экземпляр прокси-класса в своем коде VB.NET. В приведенном выше коде каждый вызов веб-службы проходит через один и тот же экземпляр клиентского прокси, но передается в другой экземпляр класса веб-службы на стороне сервера.

Даже если у веб-службы есть свойства или только поля, поскольку у вас будет отдельный экземпляр веб-службы для каждого вызова, вы будете каждый раз иметь другую версию SomeInteger.

...