Asp.net Core SSRS Viewer - .net-core

Does anybody know of a way to view SSRS server reports in an asp.net core application (3.0) without purchasing 3rd party solutions? I have found some old solutions/nuget packages but they are outdated, hacky and don't really work well anymore.
Thanks

Unfortunately, the best I've found so far is ngx-ssrs-reportviewer, which you can get from GitHub. I've implemented it in Angular using an IFrame, but it has the downside of requiring the authenticated user have a server account or a second login challenge will happen. For an internal corporate applications this is fine (which I understand to be the use case for SSRS), but for an internet application this is a big problem. A potential solution to this was posted by iceman here:
Angular ngx-ssrs-reportviewer Credential Problems

Related

How to get logical drivers from a client machine with asp

A tester came up to me and told me that a link was creating a dialog with the logical drivers from the server and the desired behavior would be that it showed drivers from the client side.
Since c# is a server side language I only believed that I need to use a client-side language.
Today this application is developed in Asp Net MVC so I went to seach such a feature in asp net.
Turns out there is nothing related to that I could find.
I found that javascript provides "FileSystemObject" that I believe I could do that, but I am looking for a solution using asp.
Any suggestion?
AFAIC, you cannot do this in C#. Software running on your server has no way to access the file system of the client computer. So you do need a client-side language such as JavaScript.
So I would try to get more information from JavaScript people, but I strongly suspect that there are severe limitations on this if it's possible at all. I don't want every website I visit to be able to access my system drives. It's a security risk.

Mono and ASP.NET Authentication

Does anyone know how to get to work the authentication mechanism configured using Web Site Administration Tool under Linux running Mono? Is it even possible?
I don't think you're going to find a ton of support for this, evidenced by the lack of activity on your question. The Web Site Administration Tool was removed from CodePlex around April 2009 due to inactivity (CodePlex rules state: It must be an ongoing project (no "abandoned" projects)) and it's use/adoption really declined. Many projects that were using it as a component just wrote their own after that.
There have been a few alternatives that have popped up in the community after it went missing:
Rolling Your Own Website Administration Tool
Create Your Own Web Site Administration Tool in ASP.NET
I think using code from one of those two projects is going to come as close to what you're after as is available. It's not ideal and will require some work to get working with the back-ends you desire (both of those use a SQL server back-end). I know this answer sucks, but sometimes that's the answer. I hope someone comes and proves me wrong and that what you want is out there, or at least could provide the WSAT source code as it last was on codeplex...that's be a huge head start in getting it to run.
If you're referring to a different WSAT please comment and correct me....it's such a generic term really, but that was by far the most popular one so I based this answer on that.
You have to set up your database schema manually for Membership/Roles support if using Mono. That said, following the FAQ answer (which I have found very handy in the past) alone may not be enough, I am not sure about the other dependancies for the Web Site Administration Tool itself (e.g. any .NET specific libraries it needs) but combined with an appropriate membership provider configured in system.web I'd say there is a reasonable chance it may.
If that doesn't work for you, I would second Nick's suggestion of taking a look at the solution by 4GuysFromRolla.com who have a lot of good info relevant to both .NET & Mono.

Real time chat implementation for SharePoint

I have a client interested in a real time chat application for a SharePoint intranet portal to enable online interview style chat sessions.
Has anyone got reccomendations for a product on the Microsoft Stack that does this? Something that is integrated into SharePoint would be prefferable, but any ASP.NET product would suffice.
The solution would need to be pretty robust as we would expect over 1000 users during a given session.
Microsoft Office Communication Server is the way Microsoft intended chat for SharePoint. I dont know if its just for 1 to 1 communcation or if there is a good multi-user support.
Another way to implement chat (or IM) in SharePoint is to use Windows Live Messanger and the green precense icon which shows up to the left of all names in SharePoint. But this is probably not the way you want to use chat.
We initially turned to handy Windows Live Messanger, However we dropped it because of security concerning.
We are using Groove, which look advisable so far.
FYI
There is ChatterBox. It's more of a demo app but the source code is available. The latest version is dated 2007 and is in beta with AJAX support.
As you have the source code, I'm sure you could take it and turn it into something nice.
I did a little work into this but dropped it because it take alot work to implete all needed features.
The easiest way looked to use IRC. IRC client software is available as asp.net, use via an iframe or make into a custom web part, there are also flash or java clients which could be imbedded.
You would need to setup a IRC server.
There is a third party product for SharePoint 2010 called GameTime that supports real-time web based chat integrated into SharePoint.

ASP.net user management and GoDaddy shared hosting

I'm trying to use the asp.net (3.5) built in user management framework but I'm not 100% sure how to do this on godaddy. Google didn't help much, anyone have experience with this?
You can roll your own or find one. You cannot run the Asp.net configuration tool directly against your GoDaddy account. (If you notice, it's just another asp.net website runing in another dev web server via Visual Studio).
You can use the System.Web.Security.Membership and Roles static classes in the Membership Provider to hook into it. This is very easy to do. Membership.GetUsers(), etc.
You can also use the stored procs to manually add/remove users and roles.
-Nathan
Go to your hosting control center
in menu Content on top, go to IIS Management,
there will be list of web folder,
on top of the list you can see asp.net runtime versions and (modify) link in brackets, click on it. There you'll see if you are using asp.net 3.5.
I have also had this problem. About a year ago. So I am curious to know what the solution might be, if there is one! I was told by Go Daddy, back then, that they had ASP.net admin stuff "locked down" pretty tight. I went back and forth with their help people, who had to actually escalate it - because the general help team didnt understand what I was asking. What I ultimately did was I canceled my hosting service (they did give me a refund for unused time!) and I went over to a different host. Hope this helps and I will be listening carefully to responses as I am curious to see if they changed OR if someone has a workaround.
To get the tables that the membership provider uses, look in %WINDIR\Microsoft.NET\Framework\v2.0.50727. That is where the SQL statements used by the wizard are located. Also, check out:
http://www.asp.net/Learn/Security/tutorial-04-vb.aspx
for a more thorough explaination of how memberships tables are set up. You can do all the same work that the admin tool does, just not in a GUI format.

How to write an offline version of an AJAX/ASP.NET web application

We have a web application that uses AJAX to talk to an ASP.NET web service. We would like to write another version that can be used offline. We need to be able to re-use our existing code as much as possible. What approaches should we consider?
The app is currently using XmlHttpRequest to get dynamic data from the server. Obviously the offline version will not be able to talk to the server, but it does need to talk to something! I'm sure installing IIS or Cassini on the client would work, but I was hoping for a simpler solution. Is there no other way for JavaScript to talk to some external code?
There are plenty offline web apps nowaday. It simply evolve from AJAX.
For example:
WoaS (wiki on a stick / stickwiki), Tiddly Wiki,
Google doc and Gmail is going to be offline.
You don't need a webserver to run these webapps in offline mode. Just store the required data, scripts on the client side (usually as XML).
One of the possibilities would be to use Cassini. This is a web server that acts as a host for the ASP.Net runtime. You can host Cassini in a Windows application or a Windows Service. In this scenario you do not have to rewrite the web app and the web service.
Most other solutions do require a rewrite of both your web app and your web service. Depending on the way you have written the existing app you can reuse more or less code.
Have you considered HTML5 with application cache and offline storage?
If you hope to create an "offline" version of your package your biggest issue by far will be the need to install your site into a local copy of IIS (registering a virtual directory, etc.). I pursued this briefly a few years ago and gave up in frustration. It can be done: a number of software vendors such as DevExpress do this so you have local copies of their demonstration projects. Indeed, I was able to do this. The problem was the classic "it works on my computer" syndrome. There was simply no way to guarantee that most of my end-users had anywhere near the technical proficiency to make this work.
Thus, I would strongly recommend that you not pursue this path unless you have very technically proficient users and a huge support staff.
But there is one more very important question: did you abstract all data access code to a DAL? If not, then you have a lot of work to do in managing data access as well.
Update: user "Rine" has recommended Cassini. I just wanted to let you know that I pursued Cassini and another 3rd-party web server as well. I think that there are licensing issues with Cassini but may be wrong - it has been awhile. However, I do distinctly remember running into barrier after barrier with this approach and very little documentation to help me out.
if you want a web application run offline, you need a webserver (IIS for ASP) bound to the localhost (127.0.0.1) address. After this so can access your web application by typing http://127.0.0.1/ in your web browser the same way as you do online.
If your AJAX relies on XMLHttpRequest's, you can:
Make the static versions of XML's you get over XMLHttpRequest and put then into a folder on disk.
Rewrite your XMLHttpRequest URL's so that they point to files on disk.
Rewrite your XMLHttpRequest's so that they don't check status (it's always 0 for the file:// protocol.
All JScript works on file:// pages as well as on http:// ones.
Of course it's not the best way to develop static pages, but it may save you some time on rewriting.
I havent come across any framework specifically built for asp.net like the ones available for PHP or RoR.
Here is a good article by Steven to get you started with HTML 5 and ASP.Net Creating HTML 5 Offline application
Obviously the offline version will not be able to talk to the server, but it does need to talk to something!
Enter HTML5 LocalStorage. It works like a database and enables you to put data on your client. Indeed you have to rework parts of your code in javascript and transmit it to the client, but then it would work offline.
Local Storage works like this:
- Setter: window.localStorage.setItem(KEY, VALUE)
- Getter: window.localStorage.getItem(KEY)
- Remove: window.localStorage.removeItem(KEY)
To get the main page working offline you need to create a manifest. This is used to store complete sites on the client. Please refer to this for more information about manifests:
http://diveintohtml5.info/offline.html
You want to build a web application to work offline?? It can't be done.
You could split the interface code from the rest (in diferent dlls) and create a windows application to mimic the behaviour of your web application. This way you have 2 distinct user interfaces but the same code for business rules and data access.
I don't really see any other way...

Resources