Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: "Jordan S." <A@xxxxx>
- Date: Sun, 5 Oct 2008 17:28:01 -0700
Thanks Juan, your patience is appreciated.
I think I am confused. I am not understanding what is the relationship
between my VS project - and therefore assembly names - and the IIS Web site.
I have an old version of this application that I have put into production
for several clients. For each client, I have (1) created an identical NTFS
strucutre (with domain name as folder name being the only way some of the
folders differ); (2) created the Web site in IIS; and (3) copied the
underlying SQL Server database. For each different Web site (IIS 6 on
Windows Server 2003), I have simply copied the application's
dll/aspx/ascx/etc files and everything "just works". Now I have undertaken a
complete rewrite of that legacy asp.net 1.1 app - this time in 3.5 with lots
of updates and many components broken out into their own dlls. IN any case I
am confused as to why I can't do what I thought I had done with the older
version - and why things didn't work with my development machine when I went
to create a 2nd Web site - *outside* of Visual Studio altogether. I do not
understand what compiling again or in a new project or from the command line
would do for me. Is there some meta data that goes into the output assembly
manifest? That would make sense, but I don't know how that relates to my
problem. I would sure appreciate a bit more of an explanation. Were you
thinking that I was trying to create a new/separate VS project using the
first one as a starting point?
"Juan T. Llibre" <nomailreplies@xxxxxxxxxxx> wrote in message
news:ue%23EUtvJJHA.1968@xxxxxxxxxxxxxxxxxxxxxxx
re:
!> I was hoping that my Web site (#2) would not need to
!> have the same name or folder structure as my VS project.
Your website doesn't need to have the same name. Your VS project must.
re:
!> if that's my only or best option.
You can also compile the assemblies manually from the command-line,
using either msbuild or the language compiler your application uses.
I am curious about this that you wrote:
!> 3. Set the NTFS permissions to be the same as those for the same
project
!> as created under Visual Studio - including for the ASP.NET account.
As you may, or may not, know, the accounts ASP.NET runs as are different
for the ASP.NET Web Development Server embedded into VS 2008...and IIS.
The ASP.NET Dev Server runs as the Administrator account in VS 2008.
When running ASP.NET in IIS 5.1/XP, the account ASP.NET uses is the ASPNET
(no dot) account.
That may also affect your database functionality, since the account name
passed to
your SQL Server database, if you're not using ad-hoc authentication, will
be different in each case.
To which account did you grant read/write permissions to ?
If you're not sure which account ASP.NET is running as, run this script I
wrote :
identity.aspx :
---------------------
<%@ Page Language="VB" %>
<%@ Import NameSpace = System.Security.Principal %>
<script runat="server">
Sub Page_Load()
Dim tmp As String = WindowsIdentity.GetCurrent.Name()
Label1.Text = "ASP.NET is running as the account : " & tmp
End Sub
</script>
<html>
<head>
<title>What account is ASP.NET running as ?</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
-----------
Running that script will tell you which account ASP.NET is running as.
*That* will be the account which needs NTFS permissions.
You may want to run the script in both environments ( VS 2008 and IIS ),
so that you can check that there's a different result for each.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Jordan S." <A@xxxxx> wrote in message
news:uZln5HvJJHA.5972@xxxxxxxxxxxxxxxxxxxxxxx
Thanks Juan,
I can certainly do as you suggest, and will gladly do so if that's my
only or best option.
I was hoping that my Web site (#2) would not need to have the same name
or folder structure as my VS project. I plan to copy this ASP.NET Web
application for use by multiple customers. Is there any way I can tell
ASP.NET to use the dll files from App #1 in the /bin directory of App #2
even though the name doesn't match? Perhaps I'm totally missing some
important point here. If so, where can I read up on this naming
convention? (I'm not sure what terms to search google on for this).
Thanks again.
"Juan T. Llibre" <nomailreplies@xxxxxxxxxxx> wrote in message
news:%23T6ya5uJJHA.3680@xxxxxxxxxxxxxxxxxxxxxxx
re:
!> 2. Copied all of the site's dll and ascx files into the folder
structure,
!> with all of the dlls going into the bin folder, as in the VS
project's folder structure.
You can't do that.
Dll's in the bin directory have a naming convention based on the
Application's name.
That's why you're getting the error.
Your second application is trying to find application2.dll in its /bin
directory,
but only finds application1.dll in its /bin directory.
To solve this, *don't* copy the dlls for the 1st app into the 2nd app's
/bin directory.
Create a new VS 2008 blank project, add your aspx/ascx/config/asax files
and compile the new project.
VS will automatically create the bin dlls with the correct name.
*Now*, you can copy all of the site's dll and ascx files into the
virtual folder structure.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Jordan S." <A@xxxxx> wrote in message
news:u26Vn3rJJHA.3764@xxxxxxxxxxxxxxxxxxxxxxx
On my XP Pro dev box I have created an ASP.NET Web application using
Visual Studio 2008 pro. It works great. I then went to manually create
a copy of the Web site, with a different name, on the same machine. I
did the following, and the Web site fails to start with a 403 error, or
a 404, depending on the particular resource requested.
Here are the steps I have performed:
1. Created a new NTFS folder structure, with a \bin folder under the
site's root folder.
2. Copied all of the site's dll and ascx files into the folder
structure, with all of the dlls going into the bin folder, as in the VS
project's folder structure.
(note: there are zero aspx files in this site, as all pages requests
are served via custom http handler factory)
3. Set the NTFS permissions to be the same as those for the same
project as created under Visual Studio - including for the ASP.NET
account.
4. Manually created the Web site (web application virtual directory) in
IIS (mmc snap-in), being careful to keep the permissions and
capabilities the same as those for the Web application virtual
directory that Visual Studio had created for the original project.
5. Ran aspnet_regiis -s on the new Web site... it ran to completion
normally (no error messages when it ran).
6. Restarted IIS (via MMC snap-in).
After all of the above, the site fails to start. In Global.Init, I
write to an Application event log... writing a brief message stating
that the Web site started. No such message appears in the event log. In
my custom override of Global.Init, I also have good exception handling
that writes a warning or error message to the event log. No such
messsage appears. Also, during my custom override of Global.Init, I
have logic that connects to and queries a local SQL Server database. As
I monitor DB activity, the database receives no attempts to connect
from this particular ASP.NET Web application.
So it's as if this thing isn't starting at all - at least not my custom
logic. If I create a really simple default.aspx file (with static html
only and no code-behind), then that is served to the browser just fine.
But even in these cases, nothing else works (as described above... no
messages written to the event log, so I know my custom Global.Init
isn't running.
What could I be missing? What to do now? Thanks!
.
- Follow-Ups:
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Juan T. Llibre
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: John Saunders
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- References:
- Manually Created Web Site Does Not Work - What am I Missing?
- From: Jordan S.
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Juan T. Llibre
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Jordan S.
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Juan T. Llibre
- Manually Created Web Site Does Not Work - What am I Missing?
- Prev by Date: Re: XHTML Strict - Is this right?
- Next by Date: Re: Manually Created Web Site Does Not Work - What am I Missing?
- Previous by thread: Re: Manually Created Web Site Does Not Work - What am I Missing?
- Next by thread: Re: Manually Created Web Site Does Not Work - What am I Missing?
- Index(es):
Relevant Pages
|