#c# #jquery #.net #asp.net #wcf
#c# #jquery #.net #asp.net #wcf
Вопрос:
Я использую службу wcf с поддержкой ajax с методом jquery POST, который получает данные для моих боковых меню.
Это отлично работает сразу после загрузки страницы, но если я подожду несколько минут, а затем попытаюсь получить данные, я не получу ответа. Firebug показывает, что запрос отправлен из браузера, однако я не вижу попадания в режиме отладки, сервер даже не осознает, что запрос был отправлен.
есть предложения?
РЕДАКТИРОВАТЬ вот некоторый соответствующий код
на стороне клиента:
$.ajaxSetup({
type: "POST",
contentType: "application/json",
timeout: 10000,
cache:false,
dataType: "json"
});
function getSubcategories(categoryId, onSuccess, onError) {
var request = new Object();
request.categoryId = categoryId;
var jsonData = JSON.stringify(request);
$.ajax({
url: "/SiteService.svc/GetSubcategories",
data: jsonData,
success: onSuccess,
error: onError
});
Серверная часть:
[ServiceContract(Namespace = "myService")]
public interface ISiteService
{
[OperationContract()]
SiteServCategory[] GetSubcategories(int categoryId);
}
web.confing
<system.serviceModel>
<services>
<service name="App_Code.Services.Website.Site.SiteService" behaviorConfiguration="DebugEnabled">
<endpoint behaviorConfiguration="SiteServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="App_Code.Services.Website.Site.ISiteService"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="SiteServiceAspNetAjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="DebugEnabled">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
Комментарии:
1. можете ли вы предоставить какой-нибудь соответствующий код, трудно сказать, что здесь происходит, основываясь на небольшой информации.
2. возможно, из-за дизайна вашего приложения ваш процесс загрузки может позаботиться о получении необходимых данных в синхронизации, а затем передать их в класс прокси-сервера запроса..