Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: "Jordan S." <A@xxxxx>
- Date: Sun, 5 Oct 2008 18:38:49 -0700
Okay It's working now. Thanks.
I was unaware of the Publish option (I never used it with my 1.1 ASP.NET
application). I did as you said, then copied *those* published files to the
site that I had been having problems with and it fired right up.
Can you briefly tell me what "Publish" does to the assemblies? Does it
compile them with different metadata in the manifest, or does Publish not
compile anything differently, but rather, simply knows which files I need
and xcopy those to the destination (in which case I could have done the same
manually, but simply screwed up and failed to get all of the right files,
which lead to all of my problems here)?
Thanks again.
"Juan T. Llibre" <nomailreplies@xxxxxxxxxxx> wrote in message
news:uLEkT60JJHA.1556@xxxxxxxxxxxxxxxxxxxxxxx
re:
!> Were you thinking that I was trying to create a new/separate
!> VS project using the first one as a starting point?
Not a new/separate VS project, but a copy of your first VS project.
If you want to have a distributable copy of your VS project,
select "Publish <ProjectName>" from the "Build" menu item in the VS 2008
IDE.
That will allow you to create a directory which will serve as the
repository for the compiled/source files you need to distribute.
You can copy *those* files to any IIS server which has the corresponding
version of the .Net Framework, and use any virtual directory/application
name
you choose, as long as the virtual directory/application is configured to
use
the .Net framework targeted.
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:eqHhrp0JJHA.1156@xxxxxxxxxxxxxxxxxxxxxxx
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!
.
- 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
- 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: PasswordRecovery: Mailbox unavailable. The server response was: Invalid recipient: ...
- Next by Date: Re: Inclusion of user control within custom control
- Previous by thread: Re: Manually Created Web Site Does Not Work - What am I Missing?
- Next by thread: IIS for Vista Basic?
- Index(es):
Relevant Pages
|