Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Асинхронные страницы ASP.NET и WCF / 4 сообщений из 4, страница 1 из 1
15.04.2011, 16:17
    #37218770
hstas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронные страницы ASP.NET и WCF
У меня на страницах вызываются методы WCF сервиса который хостится на IIS.
Методы зачастую долгие, хотелось бы сделать асинхронную загрузку страниц.
В диррективе Page включил Async = "true"

Почитал вот эту статью

Код приведу тут

Код: 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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;

public partial class AsyncDataBind : System.Web.UI.Page
{
    private SqlConnection _connection;
    private SqlCommand _command;
    private SqlDataReader _reader;
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            AddOnPreRenderCompleteAsync(
                new BeginEventHandler(BeginAsyncOperation),
                new EndEventHandler(EndAsyncOperation)
            );
        }
    }

    IAsyncResult BeginAsyncOperation (object sender, EventArgs e,
        AsyncCallback cb, object state)
    {
        string connect = WebConfigurationManager.ConnectionStrings
            ["AsyncPubs"].ConnectionString;
        _connection = new SqlConnection(connect);
        _connection.Open();
        _command = new SqlCommand(
            "SELECT title_id, title, price FROM titles", _connection);
        return _command.BeginExecuteReader (cb, state);
    }

    void EndAsyncOperation(IAsyncResult ar)
    {
        _reader = _command.EndExecuteReader(ar);
    }

    protected void Page_PreRenderComplete(object sender, EventArgs e)
    {
        Output.DataSource = _reader;
        Output.DataBind();
    }

    public override void Dispose()
    {
        if (_connection != null) _connection.Close();
        base.Dispose();
    }
}


В BeginAsyncOperation как заменить код, чтобы дернуть метод WCF сервиса, который возвращает DataSet и этот датасет подсунуть гриде, сделав DataBind().
Чет я и так корячился и эдак. Уже мозг в пятницу не работоспособен :)
Дайте примерчик плз :)
...
Рейтинг: 0 / 0
18.04.2011, 12:32
    #37221371
hstas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронные страницы ASP.NET и WCF
hstas,

разобрался предметно более подробно :)
Бери и пользуйся :) Вопрос снят.
...
Рейтинг: 0 / 0
19.04.2011, 11:21
    #37222106
hstas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронные страницы ASP.NET и WCF
hstas,

Не буду создавать новый топик.
Как передать Credentials при вызове асинхронного метода WCF сервиса?

есть такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    
protected void Page_Load(object sender, EventArgs e)
{
	LcrWebService pSrv = new LcrWebService();		
        //	подписываемся на уведомление
	pSrv.LcrInterconnectSalesProfitVTCompleted += new   LcrServiceReference.LcrInterconnectSalesProfitVTCompletedEventHandler(server_LcrInterconnectSalesProfitVT);
        //передаем имперсонифицированные креды
	pSrv.Credentials = System.Net.CredentialCache.DefaultCredentials;
        //Call
        pSrv.LcrInterconnectSalesProfitVTAsync(5242);			
			
    }

Но креденшиалсы не передаются. Я предполагаю что видимо они как-то "теряются" при работе разных потоков. Проясните ситуацию
...
Рейтинг: 0 / 0
19.04.2011, 16:48
    #37223118
hstas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронные страницы ASP.NET и WCF
hstas,

попробовал на IIS 7.5 - все заработало. Креды передались. (на девелоперской машине стоит IIS5 - вот там и поимели проблемы)
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Асинхронные страницы ASP.NET и WCF / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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