2014-02-05 2 views
-1

Я хочу, чтобы метод был виден вне моего приложения (веб-службы) и внутри него.Есть ли проблемы при установке статического метода веб-службы?

Так, нечто вроде этого:

[WebMethod] 
public static CoordinataTratta TrovaTrattaPiuVicinaByCoordinate(double myLat, double myLng) 
{ 
    ... 
    return coordinata; 
} 

// inside my application 
var a = WebService.TrovaTrattaPiuVicinaByCoordinate(0, 0); 

может создать некоторые проблемы?

+0

Почему вы хотите 'static'? И Нет, это, вероятно, не сработает. –

ответ

2

Помните, что каждый вызов веб-метода будет обрабатываться в отдельном потоке в том же процессе. Это означает, что все статические переменные будут совместно использоваться всеми потоками и, следовательно, всеми вызовами веб-сервера. Это может привести к затруднению воспроизведения и отладки проблем.

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

0

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

Я могу только догадываться, почему Microsoft разработали его таким образом ....

Подробнее ... https://stackoverflow.com/a/1263387/3156647

Смежные вопросы