powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Silverlight WCF host
25 сообщений из 80, страница 1 из 4
Silverlight WCF host
    #36807466
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Разместил Silverlight пиложение и WCF службу на сайте asp.net mvc с iss7. silverlight запускается. служба тоже но не соединятся с базой.

WCF Service1.svc.cs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
private string connectionString;
            public Service1()
            {
                connectionString =WebConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;
            }
            public Service1(string conString)
            {
                connectionString =WebConfigurationManager.ConnectionStrings[conString].ConnectionString;
            }
 public clsCustomer Paint(int p)
        {
            SqlConnection objConnection = new SqlConnection(connectionString);
            DataSet objDataSet = new DataSet();
            SqlDataAdapter dataAdapter = new SqlDataAdapter();
            SqlCommand objCommand = new SqlCommand("Select * from Paint , objConnection);
            objConnection.Open();
            dataAdapter.SelectCommand = objCommand;
            dataAdapter.Fill(objDataSet);
            objConnection.Close();
        }

client.dll.config
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="false" />
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://my-site/test/Service1.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpoint"
                contract="IService1" name="BasicHttpEndpoint" />
        </client>
    </system.serviceModel>
</configuration>

web.config
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <connectionStrings>
    <add name="Database1ConnectionString" connectionString="Data Source=***;Initial Catalog=***;User ID=***;Password=***"/>
  </connectionStrings>
  
  <system.serviceModel>
    <services>
      <service behaviorConfiguration="WBasicHttpBinding.Service1Behavior" name="Web.Service1">
        <endpoint address="http://my-site/test/Service1.svc" binding="basicHttpBinding"
        bindingConfiguration="" name="BasicHttpEndpoint" contract="Web.IService1">
        </endpoint>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="WBasicHttpBinding.Service1Behavior">
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

тестирую с wcf test client выходит ошибка
The remote server returned an unexpected response: (417) Expectation failed.
как соедениться с базой?
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36807529
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загугли ошибку. Много че пишут про нее
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36807934
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks-sam,

погуглил советуют в конфиге прописать (ниже текст) , прописал в web.config ничего не изменилось
а в web.config сайта когда пропишешь выдает 500 error
для теста сделал локальную wcf она коннектится нормально и возвращает нужное значение.

<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>

вот это куда прописать не пойму в Silverlight или в сайте ?
System.Net.ServicePointManager.Expect100Continue = false;


это код вызова службы в silverlight
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Service1Client cl = new Service1Client(); 
                    cl.PaintCompleted += new EventHandler<PaintCompletedEventArgs>(cl_PaintCompleted);
                    cl.PaintAsync(p);

void cl_PaintCompleted(object sender, PaintCompletedEventArgs e)
        {
		   testBlog.DataContext = e.Result;
        }
                   
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36807952
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Userssдля теста сделал локальную wcf она коннектится нормально и возвращает нужное значение.
тогда, вероятней всего, отсутствует clientaccesspolicy.xml на серверной стороне...
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808087
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

создал файл clientaccesspolicy.xml
положил в корень Silverlight приложения и сайта.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="http://my-site/test/"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>
  
<domain uri="*"/> - пробовал так тоже не хочет выдает 417 ошибку
в web.config нужно где то этот файл указывать?
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808160
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Userss,

указывать нигде не надо, (жестко) предопределено что плагин SL считывает этот файл

> положил в корень Silverlight приложения и сайта.
в корень Silverlight - бессмысленно
а вот сайта - тут можно попробовать положить и в wwwroot и туда где находится Web.config приложения (если это разные папки)
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808171
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, настраивать лучше с <domain uri="*"/>, как заработает - вводить ограничения
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808208
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR, тут можно попробовать положить и в wwwroot и туда где находится Web.config приложения (если это разные папки)

----------------------------------
clientaccesspolicy.xml лежит в wwwroot и в папке Silverlight приложения wwwroot\test\... где web.config приложения
в web.config приложения добавил
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<domain uri="*"/> - так вернул но пока без результатов.
а файл crossdomain.xml нужен?
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808250
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRа вот сайта - тут можно попробовать положить и в wwwroot и туда где находится Web.config приложения (если это разные папки)
проверил, необходимо и достаточно только в папке где Web.config приложения

Userssа файл crossdomain.xml нужен?
не, это как альтернатива файлу clientaccesspolicy.xml, если не ошибаюсь, для совместимости с флешевскими плагинами...

> пока без результатов
тады не знаю...(( (но знаю что без clientaccesspolicy.xml с другого компа точно коннектиться не будет)
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808388
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

Спасибо!
cижу гуглю эту ошибку.
может в сайте дело и его web.config ??
у меня же mvc там get и post view
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808446
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Userss,

последняя рекомендация - рестартануть ИИС с пулом приложений, чтобы изменения подхватились наверняка...
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808527
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

рестарт сделал нечего не изменилось

попробывал все в одном конфиге который в wwwroot прописать web.config Silverlight приложения служба запускается но опять таки при тестировании выдает 417 ошибку.
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808644
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может в Service Referense дело?? хотя там указана ссылка на службу

структура Silverlight приложения

-------------------------------------------

Test
...
здесь Service Referense со службой
...
...
Test.Web
...
здесь тоже есть папка Service Referense но служба не добавлена
...
...
web.config

-----------------------------------------------
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36808993
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто сталкивался с подобной ошибкой подскажите что нужно сделать.
Заранее спасибо!
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809115
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если в адресной строке браузера задать http://my-site/test/Service1.svc - информационная страничка сервиса отобразится?

Debugging Services for Silverlight Applications
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809126
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался что да как. с хостинга все что нужно возвращает.
ответ здесь в последнем посту Ссылка на сайт

осталась небольшая проблема со строкой соедениния
тест службы возращает;
Object reference not set to an instance of an object.
если
public string connectionString =" строка соединения"; то все нормально

что тут не так??

Код: plaintext
1.
 public string  connectionString = WebConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name ="Database1ConnectionString" connectionString ="Data Source=***;Initial Catalog=***;User ID=***;Password=***"/>
  </connectionStrings>
  <system.web>
    <customErrors mode="Off"/>
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false">
      <baseAddressPrefixFilters>
        <add prefix="http://my-site/" />
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    <services>
      <service name="Web.Service1" behaviorConfiguration="Web.Service1Behavior">
        <endpoint address="" binding="basicHttpBinding" contract="Web.IService1"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="Web.Service1Behavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809135
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR
все нормально.
со строкой еще не разобрался.
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809137
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так
public string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;
?
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809160
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,
Все понял)
это надо было в web.config сайта положить.
<connectionStrings>
<add name="Database1ConnectionString" connectionString="Data Source=***;Initial Catalog=***;User ID=***;Password=***"/>
</connectionStrings>

LR Спасибо за помощь!)

Раз ветка Silverlight есть вопрос можно ли как то TextBlock cделать со VerticalScroll ?

<TextBlock x:Name="testBlog" Text="{Binding Text}" Height="160" TextWrapping="Wrap"/>
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809175
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UserssРаз ветка Silverlight есть вопрос можно ли как то TextBlock cделать со VerticalScroll ?

<TextBlock x:Name="testBlog" Text="{Binding Text}" Height="160" TextWrapping="Wrap"/>
"родной" скролл есть у TextBox, а с TextBlock вижу единственный вариант - поместить его в ScrollViewer
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36809202
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
особенно LR
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36821412
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! у меня на сайте вход по OpenID. Как мне передать из cookies Session["User"] в textbox Silverlight приложения ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  if (User.Identity.IsAuthenticated)
            {
              //метод 1
            }
            else
            {
             //метод 2
            }
...
Рейтинг: 0 / 0
Silverlight WCF host
    #36823941
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Silverlight WCF host
    #37058856
Userss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз всем привет!
разместил в новом домене wcf-сервис... все вроде работает, но сервис работает через строку http://site.ru а когда заходишь http://www.site.ru он не работает. В Service Reference прописан адрес для приложения http://site.ru. выкладываю web config. подскажите как сделать чтобы с www и без работал сервис? Заранее спасибо!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?xml version="1.0"?>
<configuration>
  <system.web>
    <customErrors mode="Off"/>
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false">
      <baseAddressPrefixFilters>
        <add prefix="http://site.ru/"/>
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    <services>
      <service name="App.Web.Service1" behaviorConfiguration="App.Web.Service1Behavior">
        <endpoint address="http://site.ru/test/Service1.svc" binding="basicHttpBinding" contract="App.Web.IService1"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="App.Web.Service1Behavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>
...
Рейтинг: 0 / 0
Silverlight WCF host
    #37059244
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Userssно сервис работает через строку http://site.ru а когда заходишь http://www.site.ru он не работает.
ничего удивительного, ведь в endpoint-е задан абсолютный address=" http://site.ru/test/Service1.svc"

либо добавить еще один endpoint с альтернативным адресом, либо (более разумно), в хосте сервиса перечислить все нужные базовые адреса, а в endpoint-е указать относительный адрес, типа:

<service name="App.Web.Service1" behaviorConfiguration="App.Web.Service1Behavior">
<host>
<baseAddresses>
<add baseAddress=" http://site.ru/"/>
<add baseAddress=" http://www.site.ru/"/>
</baseAddresses>
</host>
<endpoint address="test/Service1.svc" binding="basicHttpBinding" contract="App.Web.IService1"/>

p.s. вообще-то вопрос для соседней ветки по WCF
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 1 из 4
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Silverlight WCF host
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]