How to trace what happens in DinkToPFD?
My Asp.Net Core 2.1 app can generate two HTML reports. Each report has a button for outputting the report as a PDF file using DinkToPDF. The button calls a controller for that report that provides all the parameters that DinkToPDF needs and then generates the PDF. An essential parameter is the URL of the page to be converted, which is not the original HTML report but a lookalike from which javascript etc. has been removed.
The first report would output the login page instead of the report data until I put [AllowAnonymous] above the class name. Then it worked fine.
The second report used the files from the first report as a template. In all necessary places everything was renamed appropriately. But even though this page of course has [AllowAnonymous], it will only generate a PDF of the login page.
I can step through the controller code and watch the DinkToPDF params get their values. But when "convert" method of DinkToPDF is called, something goes wrong.
Is there a way to watch inside that method to see why it thinks it must authenticate?
asp.net-core
add a comment |
My Asp.Net Core 2.1 app can generate two HTML reports. Each report has a button for outputting the report as a PDF file using DinkToPDF. The button calls a controller for that report that provides all the parameters that DinkToPDF needs and then generates the PDF. An essential parameter is the URL of the page to be converted, which is not the original HTML report but a lookalike from which javascript etc. has been removed.
The first report would output the login page instead of the report data until I put [AllowAnonymous] above the class name. Then it worked fine.
The second report used the files from the first report as a template. In all necessary places everything was renamed appropriately. But even though this page of course has [AllowAnonymous], it will only generate a PDF of the login page.
I can step through the controller code and watch the DinkToPDF params get their values. But when "convert" method of DinkToPDF is called, something goes wrong.
Is there a way to watch inside that method to see why it thinks it must authenticate?
asp.net-core
add a comment |
My Asp.Net Core 2.1 app can generate two HTML reports. Each report has a button for outputting the report as a PDF file using DinkToPDF. The button calls a controller for that report that provides all the parameters that DinkToPDF needs and then generates the PDF. An essential parameter is the URL of the page to be converted, which is not the original HTML report but a lookalike from which javascript etc. has been removed.
The first report would output the login page instead of the report data until I put [AllowAnonymous] above the class name. Then it worked fine.
The second report used the files from the first report as a template. In all necessary places everything was renamed appropriately. But even though this page of course has [AllowAnonymous], it will only generate a PDF of the login page.
I can step through the controller code and watch the DinkToPDF params get their values. But when "convert" method of DinkToPDF is called, something goes wrong.
Is there a way to watch inside that method to see why it thinks it must authenticate?
asp.net-core
My Asp.Net Core 2.1 app can generate two HTML reports. Each report has a button for outputting the report as a PDF file using DinkToPDF. The button calls a controller for that report that provides all the parameters that DinkToPDF needs and then generates the PDF. An essential parameter is the URL of the page to be converted, which is not the original HTML report but a lookalike from which javascript etc. has been removed.
The first report would output the login page instead of the report data until I put [AllowAnonymous] above the class name. Then it worked fine.
The second report used the files from the first report as a template. In all necessary places everything was renamed appropriately. But even though this page of course has [AllowAnonymous], it will only generate a PDF of the login page.
I can step through the controller code and watch the DinkToPDF params get their values. But when "convert" method of DinkToPDF is called, something goes wrong.
Is there a way to watch inside that method to see why it thinks it must authenticate?
asp.net-core
asp.net-core
asked Nov 13 '18 at 23:56
Scott Pendleton
53931128
53931128
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
After I thought to look in the Output window, I saw that this was one of those "Qt: Could not initialize OLE" errors. I also found that the database context object being injected into my class was null. Evidently the context was being lost somehow. In the original report, that didn't matter because I had sidestepped EF Core and was accessing the database by old-style ADO-type calls.
Therefore, in the new report, I replaced all EF Core with ADO-type calls, and the problem went away. Just had to work out some routing.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53291201%2fhow-to-trace-what-happens-in-dinktopfd%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
After I thought to look in the Output window, I saw that this was one of those "Qt: Could not initialize OLE" errors. I also found that the database context object being injected into my class was null. Evidently the context was being lost somehow. In the original report, that didn't matter because I had sidestepped EF Core and was accessing the database by old-style ADO-type calls.
Therefore, in the new report, I replaced all EF Core with ADO-type calls, and the problem went away. Just had to work out some routing.
add a comment |
After I thought to look in the Output window, I saw that this was one of those "Qt: Could not initialize OLE" errors. I also found that the database context object being injected into my class was null. Evidently the context was being lost somehow. In the original report, that didn't matter because I had sidestepped EF Core and was accessing the database by old-style ADO-type calls.
Therefore, in the new report, I replaced all EF Core with ADO-type calls, and the problem went away. Just had to work out some routing.
add a comment |
After I thought to look in the Output window, I saw that this was one of those "Qt: Could not initialize OLE" errors. I also found that the database context object being injected into my class was null. Evidently the context was being lost somehow. In the original report, that didn't matter because I had sidestepped EF Core and was accessing the database by old-style ADO-type calls.
Therefore, in the new report, I replaced all EF Core with ADO-type calls, and the problem went away. Just had to work out some routing.
After I thought to look in the Output window, I saw that this was one of those "Qt: Could not initialize OLE" errors. I also found that the database context object being injected into my class was null. Evidently the context was being lost somehow. In the original report, that didn't matter because I had sidestepped EF Core and was accessing the database by old-style ADO-type calls.
Therefore, in the new report, I replaced all EF Core with ADO-type calls, and the problem went away. Just had to work out some routing.
answered Nov 14 '18 at 14:48
Scott Pendleton
53931128
53931128
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53291201%2fhow-to-trace-what-happens-in-dinktopfd%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown