Я работаю с другим программистом на веб-сайте, который обращается к SQL Server (2008 Express) через некоторые веб-службы, которые он создал (включая в основном LINQ to SQL), а пользовательский интерфейс находится в Silverlight. Я работал над другой частью системы, но только что получил его последний код и пытаюсь запустить его на своем компьютере, но получаю сообщение об ошибке.
Это CommunicationException в строке в файле reference.cs, метод EndXXX веб-службы:
// This is for a Ping method we created just to trouble shoot- it behaves the same.
public string EndPing(System.IAsyncResult result) {
object[] _args = new object[0];
// Next line throws Communication Exception
string _result = ((string)(base.EndInvoke("Ping", _args, result)));
return _result;
}
Сообщение об ошибке:
"Произошла ошибка при попытке сделать запрос к URI 'http://localhost:1233/SummitService.svc'. Это может быть связано с попыткой доступа к услуге междоменным способом без соответствующей междоменной политики или политика, которая не подходит для служб SOAP. Вам может потребоваться связаться с владельцем службы, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять связанные с SOAP заголовки HTTP. Дополнительные сведения см. во внутреннем исключении. "
Весь стек находится на моем локальном компьютере, поэтому мне не нужно делать какие-либо междоменные вызовы. Мы просмотрели весь код конфигурации, который смогли найти (web.config, ServiceReferences.ClientConfig), чтобы изменить все ссылки на его компьютер на мой. Мы оба довольно новы во всех этих технологиях, поэтому мы дошли до конца наших знаний.
Это звонит в колокола для кого-нибудь?
ОБНОВЛЕНИЕ
Итак, я выполнил некоторые задачи по устранению неполадок и обнаружил, что если я введу адрес локального хоста страницы aspx, которая запускает все это, она загружается нормально, и я вижу данные из веб-службы на странице. Только когда я отлаживаю, я получаю эту ошибку.
Я также заметил, что когда я пытаюсь отладить страницу, она загружает местоположение файла - D: \ projects \ etc - в браузер, а не через localhost. И на самом деле он загружает тестовую страницу .html в проект, хотя я установил страницу .aspx в качестве начальной страницы.
Так что, похоже, что-то связано с настройками проекта или настройками VS2008, а не с проблемой конфигурации, как я сначала предполагал. У кого-нибудь есть еще предложения?