[mapserver-users] MapScript issue in multiple WCF apps (ASP.NET)
Tamas Szekeres
szekerest at gmail.com
Tue Mar 8 13:45:41 PST 2011
Hi Brian,
Could you provide the sequence of the requests, a mapfile example, that can
be used to reproduce this problem?
What do you mean by "configure them independently"? Different application
pool for each service type?
Best regards,
Tamas
2011/3/8 Brian Poteat <Poteat.Brian at geoeye.com>
> I have a very strange issue while using MapScript from within some web
> service projects. I have different projects/applications for different
> services – one for each of WCF, WMS, WFS, and WMTS – so we can configure
> them independently. MapScript requests work fine for all of them separately
> but if I access MapScript from one and then another, one of them will not
> work correctly anymore. The requests will return success (result == 0) and
> the format returned is correct but the data is either null or an incorrect
> image. It doesn’t seem to be a threading issue since I can bombard any one
> of the services with asynchronous requests and they are handled fine and the
> problems don’t necessarily come while using the different applications at
> the same time – just one then the other.
>
>
>
> I am using a support project for making the MS requests that is referenced
> by each application (though I tried putting the code directly in each app
> with the same results). Below is a simplified version of the helper utility
> I am using. Is there anything that stands out as being an obvious issue? My
> endpoint applications simply get the query parameters from the url request
> and pass them as the requestParams argument with the appropriate map file.
>
> namespace MapScript
>
> {
>
> public class MapScriptResponse
>
> {
>
> public string Format { get; set; }
>
> public byte[] Data { get; set; }
>
> public string ErrorString { get; set; }
>
> public DateTime LastModified { get; set; }
>
> }
>
> public class MapScriptUtilities
>
> {
>
> /// <summary>
>
> ///
> Execute a service request to mapserver through mapscript
>
> /// </summary>
>
> /// <param name="mapFile">
> Physical path to the map file on which to make the request</param>
>
> /// <param name="requestParams">
> List of request parameters</param>
>
> /// <returns>The response from mapscript.</returns>
>
> public static MapScriptResponse ServiceRequest(string
> mapFile, Dictionary<string, string> requestParams)
>
> {
>
> MapScriptResponse response = new
> MapScriptResponse();
>
> mapObj map = new mapObj(mapFile);
>
> OWSRequest owsRequest = new OWSRequest();
>
> Dictionary<string, string>.Enumerator
> en = requestParams.GetEnumerator();
>
> string paramName = "";
>
> string paramValue = "";
>
> while (en.MoveNext())
>
> {
>
> paramName = en.Current.Key;
>
> paramValue = en.Current.Value;
>
>
> owsRequest.setParameter(paramName, paramValue);
>
> }
>
> mapscript.msIO_installStdoutToBuffer();
>
> int resultCode = map.OWSDispatch(owsRequest);
>
> if (resultCode == 0)
>
> {
>
> response.Format = mapscript
> .msIO_stripStdoutBufferContentType();
>
> response.Data = mapscript
> .msIO_getStdoutBufferBytes();
>
> }
>
>
>
> return response;
>
> }
>
> }
>
> }
>
>
>
> Any help would be greatly appreciated.
>
> Brian
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20110308/e98bb573/attachment.htm>
More information about the MapServer-users
mailing list