powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF + jquery ajax без ИИС-а
8 сообщений из 8, страница 1 из 1
WCF + jquery ajax без ИИС-а
    #37611104
Serg-Inf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Возникла задачка сделать следующее:
1. Сделать WCF сервис и захостить его как вин сервис.
2. Заточить WCF под доcтуп из обычной html страницы через jquery ajax GET и получать какой-то текст.
3. Заточить WCF под передачу файлов через ПОСТ обычным intup type= file.
Все должно работать без иис-а.

Вобственно вопрос следующий:
Большинство примеров по WCF + Jquery расчитано на то, что сервис хостится на иисе и вроде как все прекрасно работает, но у меня как раз нет ииса.
Как настроить все эти Behavior-ы и EndPoint-ы чтоб можно было сделать GET запрос и что-то отправить через ПОСТ?

Возможно подобная задачу у кого-то возникала? Заранее благодарен:)
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37611303
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg-InfДоброго времени суток!
Возникла задачка сделать следующее:
1. Сделать WCF сервис и захостить его как вин сервис.
2. Заточить WCF под доcтуп из обычной html страницы через jquery ajax GET и получать какой-то текст.
3. Заточить WCF под передачу файлов через ПОСТ обычным intup type= file.
Все должно работать без иис-а.

Вобственно вопрос следующий:
Большинство примеров по WCF + Jquery расчитано на то, что сервис хостится на иисе и вроде как все прекрасно работает, но у меня как раз нет ииса.
Как настроить все эти Behavior-ы и EndPoint-ы чтоб можно было сделать GET запрос и что-то отправить через ПОСТ?

Возможно подобная задачу у кого-то возникала? Заранее благодарен:)

Специфики jquery я конечно не знаю, но может поможет:
Размещение служб
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37611468
Serg-Inf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Захостить как вин сервия я сделал, вот как мне теперь получить человекопонятные данные - текст TateTime.Now.ToString() например который я определил

[ServiceContract]

public interface iDataService
{
[OperationContract]
string ServerResponse();
}
class Server :iDataService
{
public string ServerResponse()
{
return DateTime.Now.ToString();
}

public void ServiceStart()
{
ServiceHost serviceHost = new ServiceHost(typeof(Server), new Uri(ServerSettings.ServerUrl));
serviceHost.AddServiceEndpoint(typeof(iDataService), new WebHttpBinding(), "");
serviceHost.Open();
}
}

через обычный GET запрос ajax?
Возможно где-то туплю потому как до этого опыт с WCF был минимальный
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37612520
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg-Inf,

да, ты не то делаешь.
тебе надо использовать атрибуты webmethod , а не operationcontract.
и при этом исползовать http binding
это и будет эмуляция web сервера , и сможешь, тогда post и get использовать.
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37612801
Serg-Inf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так должно быть?

[ServiceContract]

public interface iDataService
{
[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
string ServerResponse();

}


и дальше

serviceHost.AddServiceEndpoint(typeof(iDataService), new WebHttpBinding(), "");
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37613438
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg-Inf,

x
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37613551
Serg-Inf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибище:) разобрался, одна часть заработала.
Кстати вопрос возможна не совсем в тему, я решил посмотреть как ведет себя этот сервер под нагрузкой:
создал 1000 юзеров = 1000 отдельных потоков и каждый раз в несколько секунд шлет запрос, первых 2-3 минуты сервак справляется нормально, потом в "генераторе реквестов" показывается эксепшн, что не может подконнектиться к сокету из-за того, что очередь переполнена. Как и где можно настроить количество подключений или куда вообще копать?
...
Рейтинг: 0 / 0
WCF + jquery ajax без ИИС-а
    #37616864
Serg-Inf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В процессе наткнулся на еще вот на что:
При скачивании файла через браузер с WCF сервера (в респонсе передается byte[]) я получаю респонс - контент тайп, имя файла все нормально, но файлы в итоге "битые" и не открываются и имеют отличный размер от оригинала.


[WebGet(UriTemplate = "GetFile/{id}")]
byte [] GetFile(string id);

и его реализация:
public byte [] GetFile(string id)
{
var response = WebOperationContext.Current.OutgoingResponse;
FileInfo fInfo = new FileInfo(ServerSettings.SaveFilePath + "blah-blah.zip");
long numBytes = fInfo.Length;
FileStream fStream = new FileStream(ServerSettings.SaveFilePath + "blah-blah.zip", FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fStream);
byte[] bOutput = br.ReadBytes((int)numBytes);
br.Close();
fStream.Close();

response.Headers.Add(HttpResponseHeader.ContentType, "application/" + fInfo.Extension);
response.Headers.Add("Content-Disposition", string.Format("attachment; filename={0}", fInfo.Name));
response.Headers.Add("X-Filename", fInfo.Name);
response.ContentLength = bOutput.Length;
return bOutput;
}

Где у меня косяк?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF + jquery ajax без ИИС-а
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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