WCF, Сервисное значение атрибута в директиве ServiceHost не могло быть найдено

«и на самом деле - он всегда будет инициализирован (потому что программа завершится, если не может быть инициализирован).»

Как компилятор узнает об этом? Кроме того, если он всегда будет инициализирован, тогда зачем вообще использовать try-catch? В твоей логике есть недостаток.

Вы можете переместить оставшуюся часть кода в блок try. Это сработало бы.

73
задан nandarya 6 April 2009 в 11:07
поделиться

7 ответов

Опция один:

Это сообщение часто происходит из-за проблемы конфигурации IIS 7. Если Вы привыкли создавать виртуальный каталог, указывающий на папку, где Ваш сервис находится, который больше не работает. Теперь, необходимо использовать опцию "Create Application..." вместо этого.

Другие опции:

66
ответ дан Konstantin Tarkus 24 November 2019 в 12:09
поделиться

The problem could also be a in a different namespace in svc file as it is in svc.cs file.

In svc file namespace must be in the following format.

Service="Namespace.SvcClassName"
72
ответ дан 24 November 2019 в 12:09
поделиться

Два ключа к этому для некоторых вкусовых характеристик ' Значение атрибута службы в директиве ServiceHost не может быть найдено' -проблема: (1) Если вы работаете в Silverlight, следует использовать службу с поддержкой Silverlight WCF, а не службу без поддержки Silverlight WCF; это приведет к обновлению Web. Настройте для связок и позвольте типу быть видимым; (2) Сопоставьте имя класса в новой службе с именем службы - цель здесь состоит в том, чтобы сделать wsdl... так, чтобы вы знали, что функциональность службы открыта к вашему клиенту Silverlight и к Вебу; это помогает, чтобы служба соответствовала классу. Если вы получите имена, то вам придется редактировать Web.Config в 3 местах (serviceBehaviors, services and bindings).

Было так много искренних попыток помочь людям с этой проблемой, которые не помогли мне, что следует подчеркнуть, что эта запись предназначена для решения Silverlight и может не подойти для того, кто не использует Silverlight 3 в конфигурации клиент/Веб.

Надеюсь, это поможет.

.
1
ответ дан 24 November 2019 в 12:09
поделиться

Как говорили другие, вы должны использовать Flash для получения нескольких загрузок. Альтернативой загрузке является SWFUpload .

-121--3060210-

Поскольку для ClassValidator в качестве параметра требуется объект Class, экземпляр данного класса НЕ является. Имейте в виду, что вы можете сделать то, что вы пытаетесь сделать с этим кодом:

ClassValidator<? extends T> validator = new ClassValidator<? extends T>(validateMe.getClass());
-121--3959400-

Я знаю, что это, вероятно, «очевидный» ответ, но это немного меня споткнуло. Убедитесь, что в папке bin находится библиотека DLL для проекта. Когда сервис был опубликован, парень, который опубликовал его, удалил диллы, потому что он думал, что они были в GAC. Тот, что специально для проекта Коммуникации .IISHost.RecipiveService.dll, в данном случае) не был там.

Одна и та же ошибка по ОЧЕНЬ другой причине.

31
ответ дан 24 November 2019 в 12:09
поделиться

Вы должны настроить путь к папке bin для обслуживания локального bin.

4
ответ дан 24 November 2019 в 12:09
поделиться

У меня была такая же проблема, но я не знал, что ее вызвало. Я решил ее, перейдя из Debug в Release и запустив с помощью Debug/Start New Instance. После этого он запускался и в Release, и в Debug. Это было волшебно...

1
ответ дан 24 November 2019 в 12:09
поделиться

У меня была такая проблема - мой тип службы был в GAC. Он заработал бы, если бы я добавил dll, содержащую тип, в папку bin, но так как он находился в GAC, это было НЕ то, что я хотел. В итоге я добавил следующее в web.config для службы

<system.web>
    <customErrors mode="RemoteOnly" />
    <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="[name in GAC], Version=[version in GAC], Culture=neutral, PublicKeyToken=[ac token]" />
        </assemblies>
    </compilation>
</system.web>

, и она заработала без необходимости добавлять какие-либо dll в папку bin.

2
ответ дан 24 November 2019 в 12:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: