c# - Execution of operation of a sharepoint service -
i have sharepoint timer job runs every day @ night, calls operation of sharepoint service starts execution after 30 minutes execution of operation ends unexpectedly , returns following error service:
mensaje:an error occurred while receiving http response https://mysite/myservice.svc due service endpoint binding not using http protocol. due http request context being aborted server (possibly due service shutting down). see server logs more details.innerexception:system.net.webexception: underlying connection closed: unexpected error occurred on receive. ---> system.io.ioexception: unable read data transport connection: existing connection forcibly closed remote host. ---> system.net.sockets.socketexception: existing connection forcibly closed remote host @ system.net.sockets.networkstream.read(byte[] buffer, int32 offset, int32 size) --- end of inner exception stack trace --- @ system.net.sockets.networkstream.read(byte[] buffer, int32 offset, int32 size) @ system.net.fixedsizereader.readpacket(byte[] buffer, int32 offset, int32 count) @ system.net.security._sslstream.startframeheader(byte[] buffer, int32 offset, int32 count, asyncprotocolrequest asyncrequest) @ system.net.security._sslstream.startreading(byte[] buffer, int32 offset, int32 count, asyncprotocolrequest asyncrequest) @ system.net.security._sslstream.processread(byte[] buffer, int32 offset, int32 count, asyncprotocolrequest asyncrequest) @ system.net.tlsstream.read(byte[] buffer, int32 offset, int32 size) @ system.net.pooledstream.read(byte[] buffer, int32 offset, int32 size) @ system.net.connection.syncread(httpwebrequest request, boolean userretrievedstream, boolean proberead) --- end of inner exception stack trace --- @ system.net.httpwebrequest.getresponse() @ system.servicemodel.channels.httpchannelfactory.httprequestchannel.httpchannel request.waitforreply(timespan timeout)
the creation of service established follows:
public static timerjobs.svcverificaciones.verificacionesclient obtenerclienteverificacion() { estableceratributosconexion("/_layouts/myservice.svc "); timerjobs.svcverificaciones.verificacionesclient svcverificaciones = new timerjobs.svcverificaciones.verificacionesclient(_binding, _address); svcverificaciones.clientcredentials.windows.allowedimpersonationlevel = _tokenimpersonationlevel; svcverificaciones.channelfactory.credentials.windows.clientcredential = _defaultnetworkcredentials; return svcverificaciones; } private static void estableceratributosconexion(string dirservicio) { _binding = new basichttpbinding(); if (_context.web.url.tostring().tolower().contains("https")) { _binding.security.mode = basichttpsecuritymode.transport; } else { _binding.security.mode = basichttpsecuritymode.transportcredentialonly; } _binding.maxbufferpoolsize = 2147483647; _binding.maxbuffersize = 2147483647; _binding.maxreceivedmessagesize = 2147483647; _binding.readerquotas.maxarraylength = 2147483647; _binding.readerquotas.maxstringcontentlength = 2147483647; _binding.readerquotas.maxbytesperread = 2147483647; _binding.readerquotas.maxnametablecharcount = 2147483647; _binding.readerquotas.maxdepth = 32; _binding.closetimeout = new timespan(4, 30, 0); _binding.opentimeout = new timespan(4, 30, 0); _binding.receivetimeout = new timespan(4, 30, 0); _binding.sendtimeout = new timespan(4, 30, 0); _binding.security.transport.clientcredentialtype = httpclientcredentialtype.ntlm; _address = new endpointaddress(_context.web.url + dirservicio); _tokenimpersonationlevel = system.security.principal.tokenimpersonationlevel.impersonation; _defaultnetworkcredentials = system.net.credentialcache.defaultnetworkcredentials; }
the call service made follows
private void ejecutarprocesoauditoriaquinquenal() { try { using (spsite _site = new spsite(siteid)) { using (spweb _web = _site.openweb(webid)) { _web.allowunsafeupdates = true; fservicios.context = spcontext.getcontext(_web); using (var svcverificaciones = fservicios.obtenerclienteverificacion()) { bool completado = svcverificaciones.construirrequerimientopadre(true); if (completado) { traza(system.reflection.methodbase.getcurrentmethod().name, "termina construccion de los requerimientos hijos exitoso"); } else { traza(system.reflection.methodbase.getcurrentmethod().name, "termina construccion de los requerimientos hijos con errores"); } } } } } catch (exception ex) { traza(system.reflection.methodbase.getcurrentmethod().name, "mensaje:" + ex.message + "innerexception:" + ex.innerexception); } }
Comments
Post a Comment