Configuring IIS7 for ASP.NET, AJAX Control Toolkit, and ReportViewer

We've developed an ASP.NET web site for a client. (.NET Framework 4.0, Visual Studio 2010).  It uses the AJAX Control Tookit (actually just the calendar extender).  Reports are generated locally using the ReportViewer control (RDLC).  The back end is SQL Server, but all the reports are local.  Runs just fine on our development machines

This particular client is not proficient in configuring a web server.  It's an unaccustomed role for us and we are floundering.  They have Windows Server 2008 and IIS7.  IIS 7 is different from what we're used to, and we usually have the client configure the server, but that isn't going to work here.

We can get the basic ASPX page to render properly.  We can connect to the database.  We just can't get the AJAX controls or ReportViewer to work.   We've Googled up a storm and find lots of cryptic "stuff".  Mostly, it seems to be "oh, yeah, with IIS 7, you have to add these items to your Web.Config..".    We're confused and frustrated.     Can someone point us to some definitive and simple documentation for setting up IIS7 to host these functions?   We're not totally inept in this area, but it definitely isn't what we normally do ;)

P.S. The client is very sensitive about what goes on their network.  We have NO external access to the web server (not even FTP).   We may ask them to put one of our development  laptops on the network so we can try to PUBLISH the app, but we're not sure if they will accept that.  We'll need a Plan B.
BobSacksAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bob LearnedCommented:
I think this one is a very large question, and I haven't seen any one definitive source, so we need to start collecting pertinent information.  I don't know what you know, and what you don't know.  This type of configuration is normally out of my hands (another team manages this), so take everything with careful skepticism.

1) How to: Create and Configure Virtual Directories in IIS 7.0
    http://msdn.microsoft.com/en-us/library/bb763173.aspx

2) What type of web site (Web Application model = project file, Web Site = no project file)?

3) Installing IIS 7 on Windows Server 2008 or Windows Server 2008 R2
    http://learn.iis.net/page.aspx/29/installing-iis-7-and-above-on-windows-server-2008-or-windows-server-2008-r2/

4) Creating IIS7 sites, applications, and virtual directories
    http://mvolo.com/blogs/serverside/archive/2007/07/12/Creating-IIS7-sites_2C00_-applications_2C00_-and-virtual-directories.aspx

5) Walkthrough: Configuring ASP.NET Applications in IIS 7.0
    http://msdn.microsoft.com/en-us/library/bb763174.aspx

6) If you are getting errors, it would be good to know what the errors are.

7) Remember that when you share information, not to provide too much, too soon.

8) If you have link to articles that you think are useful, let me know, and we can review their value.

9) If you have access to virtualization, I would think about setting up a test Windows 2008 server, and testing this for yourself, before trying to tell someone else how to do it.
0
BobSacksAuthor Commented:
Yes, I did ask this question badly.  That was the frustration talking.  Sorry about that.  We have the virtual directory set up .  We can run a "hello world" ASPX page.  I'll thoroughly study what you said and look at all the links.   At first glance, I think we're still in the dark about ReportViewer and the AJAX Toolkit.   Let me try to ask a couple of very specific questions to see if you can direct me futher.

1.  Does ANYTHING have to be installed on the server to use the AJAX Contol Toolkit?  Our understanding is that basic AJAX in already included in the .NET Framework from 3.5 up.   Aside from the couple of AJAX Control files that we know have to be in our /BIN directory, do we have to install anything else?

2.  What do we have to have in the ASPX file containing the AJAX control extenders?   In our development environment we have the following at the top of the file:
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>  
This causes an error message on the server, telling us that "tagprefix" is not a valid atribute.  

3.  Is there anything different from what works in development which we have to add to the WEB.CONFIG when deployed to the server to use the AJAX control extenders?

4.  The ReportView just plain doesn't work.  We had the IT guy install the ReportViewer redistributable on the web server.  We have the following handler in our Web.Config
   <handlers>
      <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </handlers>
Do we need something else.

Do you know of any other articles/links specifically showing how to deploy ReportViewer and AJAX Control Extenders to IIS7?

Bob
0
Bob LearnedCommented:
Bob,

Here some things to think about, off the top of my head:

1) AJAX Control Toolkit has different versions for different .NET frameworks.  If you are using 4.0, then you need the version of the toolkit that targets 4.0.

2) If you have a mix of frameworks on the server, you need to make sure that the ASP.NET virtual directory is configured for the proper framework (aspnet_regiis can help fix that).

3) You don't need to install anything on the web server for the Microsoft Report Viewer.  You can copy the files to the \bin directory on the target server (that's what we do here).

Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll

4) AJAX Control Toolkit deployment is the same as the Report Viewer...copy the files to the \bin folder.
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

BobSacksAuthor Commented:
Thanks!!!! This is really helpful.  If it's ok with you, I'll keep this question open for another day or three.  I won't be able to get back there to test it on their web server until then.

Bob
0
Bob LearnedCommented:
Bob,

You can keep this open as long as you wish, from my perspective.  I will be here to fill in any holes (or gaps) in knowledge, where I can.  Us Bobs gotta stick together!!

Bob
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
BobSacksAuthor Commented:
Bob -

Experts-Exchange is starting to nag me about this being an "inactive question".   I got pulled off on to something else and probably won't be back on this until Tuesday or Wednesday.  I'll close this out.  What's the best way to get back to you?   You've been really helpful and I don't want to lose the connection?

Bob
0
Bob LearnedCommented:
The "best" way is to ignore the nagging, leave this question open, and waiting until you have a question.  You can ask another question, but you can't guarantee who will answer the question.  You may get an expert, though, who works with IIS 7 more than I do.  If you keep a reference to this question, I will keep monitoring for comments.
0
BobSacksAuthor Commented:
Bob -

So, we got it working.  Here's the scoop.

1.  You DO NOT have to do any kind of "install" on the web server to use the AJAX Conrol Toolkit, but you do have to have the Toolkit files in your \BIN folder.

2.  We couldn't get Reportviewer to work as you suggested by just putting the DLLs in the \BIN folder (we're still fiddling with this - it may be due to a versioning problem, BUT running the Reportviewer.EXE redistributable DID make it work.

3. This is the BIG one.  Apparently, IIS 7 does not require you to make a virutal directory.  You can just plop your files under WWWROOT.   BUT.. you DO have to right click on the site and select the "Convert to Application" option.    Doing that made a lot of stuff work.

So.. thanks for all the help.  I think we're all set for now

Bob
0
Bob LearnedCommented:
"We couldn't get Reportviewer to work as you suggested by just putting the DLLs in the \BIN folder (we're still fiddling with this - it may be due to a versioning problem, BUT running the Reportviewer.EXE redistributable DID make it work."

What happened when you were working with the Report Viewer?

0
BobSacksAuthor Commented:
We got an error message.   I'm about 82% sure (ok, maybe 83%) that the message referenced a version conflict in the manifest.   We were in "Larry the Cable Guy" mode ("get 'er done"), so we just installed the Reportviewer redistribuable on the box and it worked.   I suspect that the DLLs that we tested it with - per your suggestion - were for Visual Studio 2008, and the project is 2010.    I want to revisit this when things calm down.

The reason this is important to us is that we often aren't able to install things on the web server.  It just so happens that we have admin access to this particular web server.    A lot of our work is done with shared hosting like Brinkster.   We've been under the impression for years that we COULD NOT use Reportviewer there.   Our repeated inquiries to Brinkster are always rebuffed with a curt " you can't do it", so we never questioned it.   If what you told me is true (you are, after all the Learned One), then we've been shooting our selves in the foot for a very long time.   If this pans out, it is a wonderful thing!!!!
0
Bob LearnedCommented:
We didn't have Microsoft Report Viewer installed on our web sites, and when we wanted to add reporting services, we just copied those 3 files to the \bin folder, and everything worked.  I would need to see the errors that you were getting to know what would need to be adjusted, or whether it is possible in your environment.
0
BobSacksAuthor Commented:
Bob -

Thank you!  It works on Brinkster just like you said.  It was difficult to find one of the DLLs (Microsoft.ReportViewer.ProcessingObjectModel.dll).   For anyone else lost in the wilderness reading this - Google how to find this file.  It's in the GAC on your PC and it's tedious to extract.  Just searching your PC for the file won't do it!

Thank you!  So where were you years ago when I really needed this info ;)  ?   Seriously, you've been an enormous help -  Happy Holidays and Thanks AGAIN!!!

Bob
0
Bob LearnedCommented:
Windows Explorer has some magic that detects the special behavior required for the GAC folder, and hides a lot of the details.  If you use a Command Prompt to view the GAC (MSIL) in the C:\Windows\Assembly folder, then you should be able to see the assembly, and copy it to another folder.

C:\Windows\assembly\GAC_MSIL>cd Microsoft.ReportViewer.ProcessingObjectModel

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel>dir

05/13/2011  09:44 AM    <DIR>          10.0.0.0__b03f5f7f11d50a3a
11/04/2011  03:10 PM    <DIR>          8.0.0.0__b03f5f7f11d50a3a
11/04/2011  03:04 PM    <DIR>          9.0.0.0__b03f5f7f11d50a3a

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel>cd 10.0.0.0__b03f5f7f11d50a3a

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\10.0.0.0__b03f5f7f11d50a3a>dir

05/13/2011  09:44 AM            92,056 Microsoft.ReportViewer.ProcessingObjectModel.dll

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\10.0.0.0
__b03f5f7f11d50a3a>copy Microsoft.ReportViewer.ProcessingObjectModel C:\ReportViewer
0
BobSacksAuthor Commented:
Yup..that's exactly what I did.   Like I said... "tedious..."  ;)
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft IIS Web Server

From novice to tech pro — start learning today.