Установка разрешений MSMQ для частной очереди, созданной другим пользователем

Вы можете BASE64 кодировать содержание изображения непосредственно в атрибут SRC, однако, я полагаю, что только Firefox проанализирует этот назад в изображение.

то, Что я обычно делаю, является создаванием очень легкий вес HTTPHandler для обслуживания изображений:

using System;
using System.Web;

namespace Example
{  
    public class GetImage : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            if (context.Request.QueryString("id") != null)
            {
                Blob = GetBlobFromDataBase(id);
                context.Response.Clear();
                context.Response.ContentType = "image/pjpeg";
                context.Response.BinaryWrite(Blob);
                context.Response.End();
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

можно сослаться на это непосредственно в теге img:

<img src="GetImage.ashx?id=111"/>

Или, Вы могли даже создать управление сервером, которое делает это для Вас:

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Example.WebControl
{

    [ToolboxData("<{0}:DatabaseImage runat=server></{0}:DatabaseImage>")]
    public class DatabaseImage : Control
    {

        public int DatabaseId
        {
            get
            {
                if (ViewState["DatabaseId" + this.ID] == null)
                    return 0;
                else
                    return ViewState["DataBaseId"];
            }
            set
            {
                ViewState["DatabaseId" + this.ID] = value;
            }
        }

        protected override void RenderContents(HtmlTextWriter output)
        {
            output.Write("<img src='getImage.ashx?id=" + this.DatabaseId + "'/>");
            base.RenderContents(output);
        }
    }
}

Это могло использоваться как

<cc:DatabaseImage id="db1" DatabaseId="123" runat="server/>

И конечно, Вы могли установить databaseId в codebehind по мере необходимости.

23
задан Alex 5 January 2011 в 12:02
поделиться

1 ответ

Самый легкий подход, чтобы позволить изменять полномочия от пользователя, который не позволил, делает это должно выполнить PowerShell как Администратора как команда выполнения:

Get-MsmqQueue -Name "MyQueue" -QueueType Private | 
  Set-MsmqQueueAcl -UserName "Everyone" -Allow FullControl

и затем редактируют полномочия от Вашего пользователя.

0
ответ дан 29 November 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: