|
|
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
В классическое ASP.NET приложение надо добавить роутинг запросов вида /rest/book/show/1 на RestHandler.ashx В Global.asax пишу Код: c# 1. 2. 3. 4. 5. 6. в Web.config пишу Код: c# 1. 2. 3. создаю папку REST и в нее кладу RestHandler.cs Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. в браузере набираю http://MyServer/App/rest/book/show/1 — и получаю ошибку Код: html 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 17:30:51 |
|
||
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
сам хэндлер работает - если набрать /App/RestHandler.ashx - получим "Ок". если место Код: c# 1. в Код: c# 1. пишу Код: c# 1. - эта страница рендерится! В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 17:33:28 |
|
||
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
сам хэндлер работает - если набрать /App/RestHandler.ashx - получим "Ок". А если набрать /RestHandler.ashx, то ответ есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 18:47:04 |
|
||
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
rudevelop, авторсам хэндлер работает - если набрать /App/RestHandler.ashx - получим "Ок". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 18:56:09 |
|
||
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
sp, IIS отдает запросы обработчику ASP.NET только явно предназначенные ему т.е. .aspx, ashx и т.д. все остальные запросы он пытается обработать сам типа .html, .htm и проч. Т.е. либо в настройках IIS указать чтобы он все запросы отдавал среде ASP.NET либо надо указывать не просто /rest/book/show/1 , а /rest/book/show/1.aspx тогда будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2012, 09:26:23 |
|
||
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
sprudevelop, авторсам хэндлер работает - если набрать /App/RestHandler.ashx - получим "Ок". Я хотел уточнить работает ли путь /RestHandler.ashx, а /App/RestHandler.ashx - это уже другой путь. Если в Web.config handler указан правильно, то открываться он должен как по первому, так и по второму адресу. Также для тестов я бы попробовал в <add name="RestHandler" verb="*" path="RestHandler.ashx" type="App.REST.RestHandler" /> вместо path="RestHandler.ashx" указать другое имя (например, path="WebPage1.aspx"). Тогда handler должен открываться по пути /WebPage1.aspx Если здесь все ок, то искать причину далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2012, 23:28:27 |
|
||
|
Проблема с роутингом
|
|||
|---|---|---|---|
|
#18+
Реализовал, кому-нибудь сгодится: Для создания RESTful протокола в классическом ASP.NET приложении необходимо 1.Создать класс HttpHandler для обработки запросов по шаблону: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 2.Прописать роуты в Global.asax Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 3.В web.config выполнить переподключение модуля роутинга Код: c# 1. 2. 3. 4. 5. Вуаля! Все работает! Теперь из JavaScript на странице приложения пишем Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2012, 12:33:52 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37677297&tid=1359890]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
105ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 443ms |

| 0 / 0 |
