Ответы пользователя по тегу ASP.NET
  • Как добавить свой обработчик на событие авторизации в Asp.Net Core?

    Zarinov
    @Zarinov Автор вопроса
    Разобрался.
    Такой вариант работает (правда не знаю насколько это правильно)

    .AddOpenIdConnect(o =>
    {
    	...
    	o.Events.OnTokenValidated = x =>
    	{
    		Debug.WriteLine($"OnTokenValidated {x.Principal.Identity.Name}");
    		return Task.CompletedTask;
    	};
    });
    Ответ написан
    Комментировать
  • Как принудительно разлогинить пользователя в случе бана?

    Zarinov
    @Zarinov Автор вопроса
    Правильно ли я понимаю, что если установить небольшой срок жизни токена (или куки), то при его протухании произойдет повторное обращение к серверу авторизации и его уже не авторизуют, или такой номер не пройдет?
    Ответ написан
  • Как передать список чекбоксов в WebApi-контроллер?

    Zarinov
    @Zarinov Автор вопроса
    Забыл уточнить (запарился). Все отправляется ajax-ом, без отправки страницы. Соответственно принимает метод webapi-контролера (через форму то я умею, там вопросов нет)...
    Ответ написан
    Комментировать
  • Как из DOCX получить PDF на asp.net* (c#)?

    Zarinov
    @Zarinov Автор вопроса
    Если удастся правильно перенести оформление из OpenXML в PdfSharp.Pdf.PdfDocument, то задача будет решена. Но я не понимаю, что куда нужно переносить.

    Как вариант модификация исходного PDF-файла с помощью того же PdfSharp, тоже облегчила бы жизнь, но как?

    NUGET: PDFsharp-MigraDoc-GDI

    /// <summary>
    /// Генерация нового PDF
    /// </summary>
    private void CreateDPF()
    {
    	string fileResult = HostingEnvironment.MapPath("/Files/result.pdf");
    	var d = new Document();
    	var s = d.AddSection();
    	s.PageSetup.PageFormat = PageFormat.A4;
    	s.PageSetup.Orientation = Orientation.Portrait;
    	s.PageSetup.TopMargin = 10;
    	s.PageSetup.LeftMargin = 10;
    	s.PageSetup.BottomMargin = 10;
    	s.PageSetup.RightMargin = 10;
    	var p = s.AddParagraph();
    	p.AddText("Превед медвед!");
    	var r = new PdfDocumentRenderer(true, PdfFontEmbedding.Always);
    	r.Document = d;
    	r.RenderDocument();
    	r.PdfDocument.Save(fileResult);
    }
    
    /// <summary>
    /// Генерация PDF на основе другого PDF
    /// </summary>
    private void ConvertDPF()
    {
    	string fileSource = HostingEnvironment.MapPath("/Files/source.pdf");
    	string fileResult = HostingEnvironment.MapPath("/Files/result.pdf");
    	using (var src = PdfReader.Open(fileSource, PdfDocumentOpenMode.Import))
    	using (var res = new PdfDocument())
    	{
    		foreach (PdfPage page in src.Pages)
    		{
    			// что-то нужно сделать с этой page
    			res.AddPage(page);
    		}
    		res.Save(fileResult);
    	}			
    }
    Ответ написан
    Комментировать