Hardware reader utility works under IIS Express but not IIS - iis

I'm developing an ASP.NET Web API (2.2) Intranet service at work that encapsulates access to a smart card reader for generating public key signatures. The smart card reader relies on an open-source command line utility (pkcs15-crypt) to perform hardware access and I have no problem getting the service to work while debugging in VS2013 and IIS Express. When I run it on regular IIS, though, the command line utility reports that it cannot find any smart card readers.
I've tried a few different identities for my app pool (including my own domain login) but so far no success. It behaves the same way on both IIS 7.5 on a Windows 7 box and IIS 8 on a Windows 8 machine (64-bit in both cases).
What else might I be missing here? What might be different about IIS Express that lets the utility see the hardware, whereas it isn't working in the context of full-blown IIS?

I experimented with various identities for my IIS app pool, and the ones that worked were
LocalService
LocalSystem
Identities that didn't work were:
NetworkService
ApplicationPoolIdentity
My own domain account

Related

IIS deployment on non-server (consumer) Window versions is advisable?

We have a WCF Service that we either have to host in a Windows Service or IIS. This is a commercial application that will be installed on consumer pc's running for example Win7 Home.
In my opinion IIS on Win7 is by Microsoft only meant for development and/or testing. Activating IIS on a consumer pc shouldn't be a real option.
So my question is: Is it a real option to host a WCF service in IIS in a commercial application on a simple consumer pc?

What is the exact difference between Windows Azure and Windows IIS?

I have finished developing a webapplication on Visual Studio 2012 along with Microsoft SQL 2008. I'm trying to make it a "live" webapp which can be accessed through the phone rather than a localhost.
I researched and found 2 solutions which are
IIS
Azure
I have been looking all over the net for various clear explaination of the main difference between IIS and Azure. From my understanding, IIS is a web server application that comes with Windows Server and is used to serve up web sites while Azure is a Windows hosting solution that utilizes IIS. In that case why do people still uses IIS while Azure provide both a cloud platform and IIS?
Which is also better to host any typical web-application that used to run on the localhost?
I can't seems to find any thread in SO or ASP.Net forum which can clearly explain the main difference between the two along with the advantage and disadvantage.
Here are some of the link1, link2 i have found that provide brief information about the two.
What you are looking for is actually a place to run your web application, Teo.
As you've found, you can do that in IIS if you have a server that is connected to the Internet. A way to get such a server is to either got to a hosting company or just use the Windows Azure cloud as you've found as well.
One of the simplest ways for you to do this right now and for free is to sign up for a Windows Azure trial account. As part of that account you get a basic, shared Windows Azure Website for free.
Here are the links you need:
(1) http://www.windowsazure.com/en-us/develop/net/tutorials/get-started/
(2) http://www.windowsazure.com/en-us/pricing/free-trial/
I would strongly recommend that you go through the entire tutorial (1) step-by-step before trying to do this with your own application. Before you start, sign up for a trial account (2). You will not be charged in the first month and you will not be charged if you stick with the free website.
Enjoy.
Comparing IIS to Azure is irrelevant. Those are two different concepts, which are vaguely related to each other. You lack some very basic understanding of what each one means, and I recommend you to go and read about each them from scratch.
IIS is indeed a web server application. That means, for example, that it can rout HTTP request and responds to and from the web site application that you have created.
To keep it simple, let's say that IIS can run on any Windows machine, which makes the machine a Web Server.
If you want to have your web site up and running, you need either have your own machine that acts as a web server, or either upload your web site application to some other machine.
Azure is a group of cloud services. One of the services is a Web Site Host, that allows you to use cloud computers to run the IIS that hosts your web site.
As part of the service, Azure will take care of installing and using the IIS server for you.
Bottom line, if you are going the Windows path, you will probably end up using Both Azure and IIS (unless you will want to self host your web site...)

Web role / worker role / VM role?

Sorry for ambiguous question title! I have an asp.net app which works with an additional third party software(burning glass- connects to web app via tcp/ip, requires - properly configured dns entry, fixed ip and minimum of 8gb ram and it is completely managed via command prompt) in a single dedicated server.
I want to convert my web form app to MVC and deploy it in azure and also move the third party software I use( with above requirements). Is it possible to achieve the above requirements in azure?
Which role should I use for burning glass?
The general rule is to install 3rd-party software in a Web or Worker role, alongside your web app if you'd like, as long as:
You can install via MSI or some other mechanism that doesn't require manual intervention
The installation time is relatively quick (maybe max. 5 minutes or so)
The installation is reliable
If any of those are not possible, you'd need to go with a VM Role to pre-install the app.
As far as managing an app via command-line: As long as you can make the command-line calls via your app, you're ok. If you need to enter commands into a console, then that's not practical in Windows Azure unless you can connect to the console remotely. Not knowing about Burning Glass, I don't have any idea whether this can be done.
While Windows Azure doesn't let you select your IP address, the assigned IP address remains in effect as long as you don't delete and redeploy your app. You can upgrade the app without redeploying, so that shouldn't be an issue for you.

Best options to host my asmx web service on machine not having IIS

We have a requirement where we need to have some web services running on a server machine but it does not have IIS available. I came across this article on running asmx without IIS and many other sites/blogs have mentioned this article as well.
http://msdn.microsoft.com/en-us/magazine/cc163879.aspx
Could somebody offer alternatives to above to run asmx web services without IIS installed?
Other option i could find was Cassini - http://ultidev.com/products/cassini/
Windows Azure! That is precisely what it was designed for... it’s cheap and reliable!

ApplicationPoolIdentity cannot access network resources

My Setup: W2K8-R2 IIS7.5 x64bit servers (app pool is running in 32bit, though)
We have a (.net 4.0) web application that runs under the "ApplicationPoolIdentity". It has "Windows Authentication" enabled. The web app calls a web service on different (older - W2K3 II6) web server (same domain). The web service requires Windows Authentication as well.
On some of our web servers, this works well and I can see that the Web App calls the web service and identifies itself as the machine name for the web server it is running on (as expected). However on other web servers the application will not identify itself when it calls the web service and thus gets a 403 error (this is confirmed by looking at the IIS logs for the web service).
I've compared the web servers that work versus those that don't and I can't find any significant differences. (I compared the ApplicationHost.Config files from both sites and with the exception of a few encryption keys they are identical).
Any thoughts on what could be causing the App Pool Identity on the bad machines to forgo identifying itself? Did we set something up on one web server and miss it on the other?
If not, can someone recommend tools that could be used to track down what's going on?
Thanks for any help.
For anyone else who find this question, it is answered is several places :
Granting write permissions to a networked UNC folder for ASP.NET under IIS 7.5 and Windows Server 2008 R2
IIS application using application pool identity loses primary token?
DirectoryServicesCOMException 80072020 From IIS 7.5 Site Running Under ApplicationPoolIdentity
ApplicationPoolIdentity cannot access network resources
https://serverfault.com/questions/217547/applicationpoolidentity-iis-7-5-to-sql-server-2008-r2-not-working
Summary: Install MS HotFix KB2545850 and learn the details about this bug in KB2672809 which also shows how to reproduce this issue.
An update in case anyone runs into this... We realized that the common thread between servers that worked was that they had been rebooted recently. After rebooting the problem servers, they too started working.
At this point I can't explain what the issue was, but it appears a reboot solved it. I will update if the problem reoccurs.

Resources