Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Silverlight WCF host / 25 сообщений из 80, страница 1 из 4
24.08.2010, 10:44
    #36807466
Userss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
Здравствуйте! Разместил 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
24.08.2010, 11:02
    #36807529
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
Загугли ошибку. Много че пишут про нее
...
Рейтинг: 0 / 0
24.08.2010, 13:38
    #36807934
Userss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
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
24.08.2010, 13:45
    #36807952
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
Userssдля теста сделал локальную wcf она коннектится нормально и возвращает нужное значение.
тогда, вероятней всего, отсутствует clientaccesspolicy.xml на серверной стороне...
...
Рейтинг: 0 / 0
24.08.2010, 14:27
    #36808087
Userss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
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
24.08.2010, 14:41
    #36808160
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
Userss,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

осталась небольшая проблема со строкой соедениния
тест службы возращает;
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
24.08.2010, 20:37
    #36809135
Userss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
LR
все нормально.
со строкой еще не разобрался.
...
Рейтинг: 0 / 0
24.08.2010, 20:37
    #36809137
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
а так
public string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Database1ConnectionString"].ConnectionString;
?
...
Рейтинг: 0 / 0
24.08.2010, 21:06
    #36809160
Userss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
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
24.08.2010, 21:16
    #36809175
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
UserssРаз ветка Silverlight есть вопрос можно ли как то TextBlock cделать со VerticalScroll ?

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  if (User.Identity.IsAuthenticated)
            {
              //метод 1
            }
            else
            {
             //метод 2
            }
...
Рейтинг: 0 / 0
01.09.2010, 15:09
    #36823941
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
...
Рейтинг: 0 / 0
14.01.2011, 13:06
    #37058856
Userss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
Еще раз всем привет!
разместил в новом домене 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
14.01.2011, 15:26
    #37059244
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Silverlight WCF host
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
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Silverlight WCF host / 25 сообщений из 80, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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