В нашем проекте мы вызываем файл .svc непосредственно с веб-страницы asp.net, и я получаю сообщение об ошибке «Сервер удаленного доступа возвратил ошибку: (400) неверный запрос.
Архитектура нашего проекта такова: мы используем файл .svc в нашем веб-приложении и файл .cs для svc in writer в другом проекте библиотеки классов. Из aspx мы вызываем службу WCF напрямую, без добавления ссылки или чего-либо еще. Я не могу изменить концепцию, потому что это наш стандарт. Я могу добавить ссылку на службу и вызвать эти методы, но я хотел вызвать метод непосредственно из URL-адреса .svc.
Я разозлился на 2 дня и не смог устранить ошибку. Мы используем HttpWebRequest для получения ответа от сервиса. По сути, служба будет принимать объект передачи данных (DTO) в качестве входных данных и возвращает то же самое (DTO) в качестве выходных данных только с одним значением.
Проверьте следующий код:
HttpStatusCode statusCode = HttpHelper.PostXmlRequestValue(requestXMLInput,
string.Format("http://{0}/{1}/MySample.svc/webhttp/MyMethodName",
Request.ServerVariable["HTTP_HOST"], Request.ApplicationPath);
Тот же код работает на одной машине, но не на другой. Я проверил конфигурацию и все то же самое, но все равно я получаю ту же ошибку.
Когда я использую URL-адрес .svc на моей машине, он работает, но выдает сообщение «Метод не разрешен». Когда я проверил тот же URL в рабочей машине, я получил то же сообщение .. Я считаю, что есть одна простая вещь, которую я упускаю. Я не мог найти, так как я новичок в WCF.