2010-01-08 3 views
1

У меня есть служба WCF, размещенная в службе Windows. Клиентское приложение - это проект веб-сайта, к которому я добавляю ссылку на службу.Служба WCF - Ошибка MaxReceivedMessageSize

Теперь файл конфигурации службы Windows имеет правильные настройки для MaxReceivedMessageSize:

<netTcpBinding> 
    <binding name="netTcp" maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"> 
     <readerQuotas maxDepth="500" maxStringContentLength="50000000" maxArrayLength="50000000" 
        maxBytesPerRead="50000000" maxNameTableCharCount="50000000" /> 
     <security mode="None"></security> 
    </binding> 
    </netTcpBinding> 

Но когда я добавить ссылку на службу в WebSite проекта, он обновляет web.config со значениями по умолчанию. И затем я получаю эту ошибку: Максимальная квота размера сообщения для входящих сообщений (65536) была превышена. Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize в соответствующем связывающем элементе.

Я считаю, что обновление конфигурационного файла веб-сайта с настройками в сервисе congig позволит решить эту ошибку.

Но мне интересно, нужно ли менять эти настройки вручную каждый раз, когда я добавляю служебную ссылку?

+0

Для справки, вероятно, вам также необходимо увеличить 'MaxBufferSize'. –

ответ

3

Да, к сожалению, при добавлении Service Reference настройки с сервера не будут переданы клиенту. Вам придется установить их вручную.

Что вы можете сделать, это использовать команду меню «Обновить службу», а не всегда создавать новую ссылку на службу. Это может сохранить ваши настройки (не уверен - я никогда не использую его самостоятельно).