Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Привет. Кто-нибудь может сказать можно ли как-то пометить параметр метода Asp.Net сервиса, как необязательный. Чтобы вызов метода сервиса не "падал", если какой-то из его параметров не был передан. Вот например сервис с методом, который принимает 2 параметра. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Вот web.config для него Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если вызвать метод Hello и передать ему оба параметра, то все работает нормально. Вот например вызываю GET-ом метод http://localhost/WebService/WebService.asmx/Hello?firstName=Ivan&lastName=Ivanov получаю ответ Код: xml 1. 2. Но если один из параметров не передать, то получаю exception. Например http://localhost/WebService/WebService.asmx/Hello?firstName=Ivan ответ System.InvalidOperationException: Missing parameter: lastName. at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection) at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest() Можно это как-то красиво обойти, чтобы если параметр lastName в запросе не был передан, то в метод не "падал" и принимал его равным null ? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 21:47 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
если память не подводит меня то нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 22:09 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
для веб сервисов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 22:10 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. WebService.asmx/ HelloDefault?firstName=Ivan WebService.asmx/ Hello?firstName=Ivan&lastName=Ivanov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 22:52 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
МСУ, спасибо за ответ. Вариант с заменой имени метода не подходит. Клиент должен вызвать тот же метод Hello, но иметь возможность не передать какой-либо из параметров в запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:12 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
iamjinКлиент должен вызвать тот же метод Hello, но иметь возможность не передать какой-либо из параметров в запросе. Веб-сервис такие get запросы не поддерживает. Смотри в сторону WCF REST или WebAPI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:39 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
А как можно перехватить и обработать этот exception? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 15:06 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите, можно ли перехватить exception, кода вызывается веб-сервис с недостающими параметрами? Например, есть метод с двумя параметрами: [WebMethod] public string Hello(string firstName, string lastName) Вызов: http://server/app/ws.asmx/Hello?firstname=Ivanov получаем: Веб-узел не может отобразить страницу Как выдавать, что был вызов с некорректными параметрами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 11:53 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 15:45 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Orion70, ... по-моему, проще на клиенте настроить валидацию, и если уж требуется обрабатывать неверный/отсутствие параметра не сервере, то при валидации на клиенте присваивать отсутствующему параметру что-то типа "none" или "undefined", а уж на сервере по этим ключевым словам и выбрасывать "иксепшн" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 16:47 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Дело в том, что клиент будет на стороне. А к серверной части, которую я и разрабатываю, стоит требование о возврате определенного кода ошибки, если были переданы не все параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 17:04 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 17:55 |
|
||
|
Необязательные параметры методо Asp.Net сервиса
|
|||
|---|---|---|---|
|
#18+
Orion70Дело в том, что клиент будет на стороне. А к серверной части, которую я и разрабатываю, стоит требование о возврате определенного кода ошибки, если были переданы не все параметры. ASP.NET WebService - используют инфраструктуру ASP.NET для обработки запросов. Прежде, чем запрос будет передан на обработку соответствующему хендлеру, он будет передан всем зарегистрированным модулям. Реализуйте свой наследник от IHttpModule, который будет производить валидацию параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2014, 13:56 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38692908&tid=1357142]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 415ms |

| 0 / 0 |
