Silverlight «Добавить ссылку на службу» к ошибке службы ASP - PullRequest
1 голос
/ 10 октября 2010

Я не уверен, что является причиной этой ошибки.

Разметка службы:

<%@ ServiceHost 
    Language="C#" 
    Debug="true" 
    Service="WebRole1.ExpenseService" 
    CodeBehind="ExpenseService.svc.cs"
    Factory="System.ServiceModel.Activation.WebServiceHostFactory"
%>

Код службы:

[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ExpenseService
{
    [OperationContract]
    [WebGet(UriTemplate="expenses", ResponseFormat=WebMessageFormat.Xml)]
    public List<ExpenseInfo> GetExpenses()
    {
        List<ExpenseInfo> result = new List<ExpenseInfo>();
        // ...

        return result;
    }
}

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

Если я пытаюсь добавить службу http://localhost:88/ExpenseService.svc/expenses, я получаю ошибку:

Документ наURL http://localhost:88/ExpenseService.svc/expenses не был распознан как известный тип документа.

Сообщение об ошибке каждого известного типа может помочь вам решить проблему:

  • Отчетиз 'XML Schema' - это 'Корневой элемент XML-схемы W3C должен быть, а его пространство имен должно быть' http://www.w3.org/2001/XMLSchema'.'.

  • Отчет из 'DISCO Document' - это 'Документ обнаружения по URL http://localhost:88/ExpenseService.svc/expenses не может быть найден. '.

  • Формат документа не распознан.

  • Отчет из «Документа WSDL»: «Существуетошибка в XML-документе (1, 2). '.

    • не ожидалась.

Метаданные содержат ссылку, которая не может бытьe решено: 'http://localhost:88/ExpenseService.svc/expenses'.

Удаленный сервер возвратил неожиданный ответ: (405) Метод не разрешен.

Удаленный сервер возвратил ошибку: (405) Метод не разрешен.

Если служба определена в текущем решении, попробуйте создать решение и снова добавить ссылку на службу.

Если я попытаюсь добавить ссылку на службу к http://localhost:88/ExpenseService.svc, я получу ошибку:

Произошла ошибка при загрузке 'http://localhost:88/ExpenseService.svc'. Запрос не выполнен с состоянием HTTP 404: Not Found.Метаданные содержат ссылку, которая не может быть разрешена: 'http://localhost:88/ExpenseService.svc'. Не было конечной точки, прослушивающей http://localhost:88/ExpenseService.svc, которая могла бы принять сообщение.Это часто вызвано неправильным адресом или действием SOAP.Смотрите InnerException, если имеется, для более подробной информации.Удаленный сервер возвратил ошибку: (404) Not Found.Если служба определена в текущем решении, попробуйте создать решение и снова добавить ссылку на службу.

Что я делаю не так?

Обновление :Эта страница может быть полезна: http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=KnownIssues

Обновление 2 : я попробовал то, что было предложено на этом сайте, но безуспешно.

1 Ответ

0 голосов
/ 10 октября 2010

Первоначально я указывал, что AJAX включен. Я удалил его и сделал типичный WCF, и он, кажется, работает. (Хотя я все еще получаю SecurityException проблем, как подробно описано в моем другом вопросе.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...