Ошибка синтаксического анализатора веб-службы ASP.NET на сервере, а не локально - PullRequest
1 голос
/ 16 октября 2011

EDIT2

Похоже, я не могу читать правильно, не обращайте внимания на этот пост, вместо этого я попытаюсь создать службу WCF.

Спасибо

EDIT:

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

Для тех, кому интересно:

Что я на самом деле пытаюсь сделать, так это создать базу данных с дюжиной различных таблиц рекордов, которые я смогу извлечь из моего приложения для Android в формате JSON. До сих пор у меня есть база данных XML и веб-метод для запроса, входит ли оценка в топ-50 по конкретной таблице рекордов. Один для отправки вашего счета, и один для получения всего рекорда, чтобы показать в приложении. У меня также есть простой интерфейс для добавления, удаления и т. Д. Из базы данных.

Обновленный вопрос: Смогу ли я повторно использовать часть своего кода, если я создам проект MVC и как я могу разместить указанный проект на сервере? это можно сделать с помощью FTP-клиента или мне нужно использовать Web Deploy, IIS или веб-матрицу или какое-либо другое программное обеспечение? а какие требования к серверу?

Большое спасибо за помощь:)

---------- Исходное сообщение --------------

Недавно я пытался узнать, как создать веб-службу в Microsoft Visual Web Developer (2010, экспресс-выпуск на 64-разрядной версии win7) в веб-приложении . У меня есть несколько очень простых веб-методов JSON, и когда я запускаю проект локально из Visual Web Developer, он работает как чудо, он возвращает правильные значения и т. Д.

Но когда я перенесу проект на мой сервер Windows, работающий под управлением .NET 4.0 (который совпадает с моей целевой платформой в этом проекте), я больше не могу получить доступ к веб-службе, .aspx web страницы работают отлично, но веб-служба .asmx показывает следующую ошибку:

(я могу опубликовать только две гиперссылки, поэтому я удалил это изображение)

Эта строка 1 является единственной строкой в ​​файле .asmx, кстати. Я попытался поместить Namespace.Classname вместо этого, но ошибка остается. ( Test.DBWebService вместо просто DBWebService)

Я ничего не изменил в коде, этот точный код работает на моем компьютере. Я пробовал вещи, которые помогли другим с похожими проблемами, такие как параметры сборки:

Перед запуском стартовой страницы: Создание веб-сайта

Целевая платформа: .NET 4.0

Создание веб-сайта как часть структуры Проверено

, который, я полагаю, должен быть настроен так.

Мой web.config выглядит так:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation targetFramework="4.0"/>
    <customErrors mode="Off"/>
  </system.web>
  <appSettings>
  </appSettings>
  <system.serviceModel>
    <bindings/>
    <client/>
  </system.serviceModel>
</configuration>

Это файл .cs для веб-службы и пример метода, который работает локально , но недоступен на сервере.

http://i.stack.imgur.com/4T6pq.png

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

Ответы [ 2 ]

0 голосов
/ 16 октября 2011

Наиболее вероятные причины вашей проблемы: - неправильная настройка сайта (приложения) в рамках IIS. Я предполагаю, что вы развертываете приложение, но по какой-то причине приложение создано неправильно, и ASP.NET не может инициализировать папку / bin, в которой должны существовать двоичные файлы. - неправильная конфигурация IIS / ASP.NET. Найдите другую машину с аналогичной конфигурацией и проверьте ваш сайт там. Если он работает правильно, вы можете вернуться и попытаться найти / решить проблемы с локальной конфигурацией ASP.NET.

0 голосов
/ 16 октября 2011

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

Вы используете «ASMX Web Services», технологию, которая практически устарела. Никакие новые разработки не должны выполняться с использованием ASMX, если нет другого выбора.

Другая ошибка, которую вы делаете, заключается в использовании веб-сайта «проект». Я настоятельно рекомендую вам не использовать их ни для чего, кроме простых сайтов, и вы можете в любом случае избегать их для этой цели. Среди прочего, у них есть конкретная проблема: они не строят то, что, по вашему мнению, они должны построить, когда вы думаете, что они должны его построить.

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

...