Ошибка доступа к веб-сервису в проекте WinForm - PullRequest
0 голосов
/ 22 марта 2012

Я получаю сообщение об ошибке при попытке использовать веб-службу, которую я написал с помощью приложения Windows. Кажется, что веб-служба работает нормально, и я не получаю никаких ошибок, но как только я добавляю ее в качестве ссылки на службу в моем приложении WinForms, я получаю сообщение об ошибке:

Error   1   The type name 'ServiceReference1' does not exist in the type 'CosmicInterface.CosmicInterface'

Теперь я чувствую, что это связано с пространствами имен, но просто не могу понять, где. Вот фрагмент кода моего веб-сервиса:

namespace CosmicSvc
{
    [WebService(Namespace = "http://www.website.com")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class cosmic : System.Web.Services.WebService
    {
        [WebMethod()]
        public string etc....

Служебный файл называется cosmic.asmx, и я не уверен, что он играет на нем вообще.

И вот какой маленький код в моем приложении для Windows называется CosmicInterface. Все, что я сделал, это сказал «новый проект», а затем добавил ссылку на сервис и попытался запустить. Вот когда я получаю ошибки. Так что кода не так много. Я добавил ссылку на службу под несколькими именами, оставив ее со значением по умолчанию «ServiceRefrence1».

namespace CosmicInterface
{
    public partial class CosmicInterface : Form
    {
        public CosmicInterface()
        {
            InitializeComponent();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 07 марта 2016

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

0 голосов
/ 23 марта 2012

Хорошо, я понял это.Оказывается, мое пространство имен и класс названы одинаково.Поменял класс и все заработало нормально.

namespace CosmicInterface
{
        public partial class InterfaceForm : Form // <- I had to change this name to something different...
        {
            public InterfaceForm()
            {
                InitializeComponent();
            }
        }
}
...