In 10.1 you cannot put a basemap service inside another service.You can get two images via rest and fuse them server side.you can write code kind this one (I haven't tested):
static void Main(string[] args)
{
FuseTwoImages("http://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer/export?dpi=96&transparent=true&format=png8&bbox=633494.6405943877%2C5612180.331083226%2C1416209.810234554%2C6152742.995115967&bboxSR=102100&imageSR=102100&size=1280%2C884&f=image", 100.0f, "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer/export?dpi=96&transparent=true&format=png8&bbox=633494.6405943877%2C5612180.331083226%2C1416209.810234554%2C6152742.995115967&bboxSR=102100&imageSR=102100&size=1280%2C884&f=image", 50.0f);
}
public static void FuseTwoImages(string baseImageUrl, float baseImageOpacity, string topImageUrl, float topImageOpacity)
{
Graphics graphics = null;
try
{
Bitmap imageBaseMap = new Bitmap(WebRequest.Create(baseImageUrl).GetResponse().GetResponseStream());
SetImageOpacity(imageBaseMap, (float)topImageOpacity);
Bitmap bitmapFirst = new Bitmap(new Bitmap(imageBaseMap));
graphics = Graphics.FromImage(bitmapFirst);
Bitmap bitmapSecond = new Bitmap(WebRequest.Create(topImageUrl).GetResponse().GetResponseStream());
Image image = SetImageOpacity(bitmapSecond, (float)topImageOpacity);
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphics.DrawImage(image, new Point(0, 0));
bitmapFirst.Save(@"c:\temp\_ags_" + Guid.NewGuid().ToString() + ".png", ImageFormat.Png);
}
catch (Exception)
{
}
finally
{
graphics.Dispose();
}
}
public static Image SetImageOpacity(Image image, float opacity)
{
try
{
//create a Bitmap the size of the image provided
Bitmap bmp = new Bitmap(image.Width, image.Height);
//create a graphics object from the image
using (Graphics gfx = Graphics.FromImage(bmp))
{
//create a color matrix object
ColorMatrix matrix = new ColorMatrix();
//set the opacity
matrix.Matrix33 = opacity;
//create image attributes
ImageAttributes attributes = new ImageAttributes();
//set the color(opacity) of the image
attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
//now draw the image
gfx.DrawImage(image, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, attributes);
}
return bmp;
}
catch
{
return null;
}
}