Доступ к веб-сервису из Silverlight - PullRequest
1 голос
/ 13 июня 2009

У меня проблема с моим веб-сервисом, и мне нужна помощь. У меня есть проект Silverlight и часть ASP Silverlight.Web. В Silverlight.Web добавлен файл Linq to SQL, пользовательская база данных для проверки входа в систему и созданная служба, asmx-файл. В проекте Silverlight добавлена ​​ссылка на сервис для моей веб-службы asmx. После сборки был создан ServiceReferences.ClientConfig. Когда я запускаю свой проект, служба не работает с созданным файлом ServiceReferences.ClientConfig:

Если я прокомментирую эту часть будет работать только в том случае, если мой проект запускается из VisualStudio, но если опубликовать мой проект в IIS, служба не работает. :

Ошибка: необработанная ошибка в приложении Silverlight. Исключительная ситуация во время операции, делающая результат недействительным. Проверьте InnerException для подробностей исключения. в System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNeeded () в SilverlightPowerPoint.UserLoginService.UsersLoginCompletedEventArgs.get_Result () в SilverlightPowerPoint.Login.uls_UsersLoginCompleted (Отправитель объекта, UsersLoginCompletedEventArgs e) в SilverlightPowerPoint.UserLoginService.UserLoginSoapClient.OnUsersLoginCompleted (состояние объекта) Исходный файл: http://localhost/Silverlight/SilverlightPowerPointTestPage.aspx

Если я запускаю службу из своего IIS http://localhost/Silverlight/UserLogin.asmx,, я даю параметры, и они работают, он возвращает мне ответ.

Что я могу сделать?

Спасибо, Андрей

1 Ответ

1 голос
/ 13 июня 2009

Файл ServiceReferences.ClientConfig:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="UserLoginSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
                <security>
                    <transport>
                        <extendedProtectionPolicy policyEnforcement="Never" />
                    </transport>
                </security>
            </binding>
         </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="http://localhost:50470/UserLogin.asmx"
            binding="basicHttpBinding" bindingConfiguration="UserLoginSoap"
            contract="UserLoginService.UserLoginSoap" name="UserLoginSoap" />
    </client>
</system.serviceModel>

Это работает после того, как я прокомментирую это:

             <security>
                <transport>
                    <extendedProtectionPolicy policyEnforcement="Never" />
                </transport>
            </security>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...