By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,851 Members | 1,109 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,851 IT Pros & Developers. It's quick & easy.

using <runtime> section in web.config file

P: n/a
Hi,

I am trying to use <runtime> section within the web.config file. However,
the contents of the <runtime> section seem to be ignored. What am i missing
here? Is <runtime> section not used by web apps?

Any help is greatly appreciated.

Thanks,

Subra
Nov 19 '05 #1
Share this Question
Share on Google+
8 Replies


P: n/a
Do you mean <httpRuntime> ?

Juan T. Llibre
ASP.NET MVP
===========
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
Hi,

I am trying to use <runtime> section within the web.config file. However,
the contents of the <runtime> section seem to be ignored. What am i
missing
here? Is <runtime> section not used by web apps?

Any help is greatly appreciated.

Thanks,

Subra

Nov 19 '05 #2

P: n/a
No. <runtime> section is used to specify the binding policies for the .NET
run time.
For example:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="myBinFolder"/>
<dependentAssembly>
<assemblyIdentity name="myAssemblyName" />
<codeBase href="myBinFolder2"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Basically, I am looking for a mechanism to not use the standard bin folder
for my web apps but instead use a common folder to store common dlls for a
group of web apps w/o using the GAC.

Thanks,

Subra

"Juan T. Llibre" <no***********@nowhere.com> wrote in message
news:OX**************@TK2MSFTNGP09.phx.gbl...
Do you mean <httpRuntime> ?

Juan T. Llibre
ASP.NET MVP
===========
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
Hi,

I am trying to use <runtime> section within the web.config file. However, the contents of the <runtime> section seem to be ignored. What am i
missing
here? Is <runtime> section not used by web apps?

Any help is greatly appreciated.

Thanks,

Subra


Nov 19 '05 #3

P: n/a
re:
"No. <runtime> section is used to specify..."
Hi, Subra.

It looks like <codebase href=" needs a web address :

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<codeBase version="2.0.0.0"
href="http://www.litwareinc.com/myAssembly.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

See
http://msdn.microsoft.com/library/de...rfCodeBase.asp

Juan T. Llibre
ASP.NET MVP
===========
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:OB**************@TK2MSFTNGP14.phx.gbl... No. <runtime> section is used to specify the binding policies for the .NET
run time.
For example:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="myBinFolder"/>
<dependentAssembly>
<assemblyIdentity name="myAssemblyName" />
<codeBase href="myBinFolder2"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Basically, I am looking for a mechanism to not use the standard bin folder
for my web apps but instead use a common folder to store common dlls for a
group of web apps w/o using the GAC.

Thanks,

Subra

"Juan T. Llibre" <no***********@nowhere.com> wrote in message
news:OX**************@TK2MSFTNGP09.phx.gbl...
Do you mean <httpRuntime> ?

Juan T. Llibre
ASP.NET MVP
===========
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
> Hi,
>
> I am trying to use <runtime> section within the web.config file. However, > the contents of the <runtime> section seem to be ignored. What am i
> missing
> here? Is <runtime> section not used by web apps?
>
> Any help is greatly appreciated.
>
> Thanks,
>
> Subra
>
>




Nov 19 '05 #4

P: n/a
no its not.

this is probably because the dll's are needed for the page compile first.
the compiler references are specified in the <assemblies> section (which
asp.net passes to the compiler thru switches when it spawns it).
unfortunately you can only specify the name in the <assemblies> section, not
the path, as this is specified with the compiler lib switch.

-- bruce (sqlwork.com)
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
| Hi,
|
| I am trying to use <runtime> section within the web.config file. However,
| the contents of the <runtime> section seem to be ignored. What am i
missing
| here? Is <runtime> section not used by web apps?
|
| Any help is greatly appreciated.
|
| Thanks,
|
| Subra
|
|
Nov 19 '05 #5

P: n/a
Bruce,

This is an interesting topic.

It would seem that
http://msdn.microsoft.com/library/de...rfCodeBase.asp
implies that the codebase *can* be used by
web applications, since that page specifies that:

"If the assembly has a strong name, the codebase setting
can be anywhere on the local intranet or the Internet.
If the assembly is a private assembly, the codebase
setting must be a path relative to the application's directory."

and, it also specifies that :

"This element can be used in the application configuration file,
machine configuration file (machine.config), and the publisher
policy file."

I don't see any restrictions regarding usage only in Winforms.

Also, the info in
http://msdn.microsoft.com/library/de...plications.asp
states that:

"The administrator can use the <probing> element in the configuration
file to specify that the runtime should search for assemblies in
subdirectories of the application base.

Suppose that www.adventure-works.com/webApp/StockCalc
maps to C:\Inetpub\Wwwroot\Webapps\StockCalc.

Putting <probing privatePath="bin"/> in the configuration file
causes the runtime to search for assemblies in
C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin
as well as C:\Inetpub\Wwwroot\Webapps\StockCalc."

The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin"
strongly suggests that a web application is using the <probing>
element to locate an assembly.

I confess I'm not an expert in this field, but the implications
of the statements in that page are very strong in favor of
web applications being able to use the <runtime>
configuration section of web.config.

If I'm being misled by these documents,
I'm ready to hear otherwise, though.


Juan T. Llibre
ASP.NET MVP
===========
"bruce barker" <no***********@safeco.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
no its not.

this is probably because the dll's are needed for the page compile first.
the compiler references are specified in the <assemblies> section (which
asp.net passes to the compiler thru switches when it spawns it).
unfortunately you can only specify the name in the <assemblies> section,
not
the path, as this is specified with the compiler lib switch.

-- bruce (sqlwork.com)
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
| Hi,
|
| I am trying to use <runtime> section within the web.config file.
However,
| the contents of the <runtime> section seem to be ignored. What am i
missing
| here? Is <runtime> section not used by web apps?
|
| Any help is greatly appreciated.
|
| Thanks,
|
| Subra
|
|

Nov 19 '05 #6

P: n/a
Yes, what you can do is specify another subdir to probe for assemblies, ie:

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Foo/bin" />
</assemblyBinding>
</runtime>
<configuration>

If the codebehind for an ASPX file is compiled into the assembly in Foo/bin,
the @ Assembly directive can be used to link the two:

<%@ Assembly Name="Foo" %>
<%@ Import Namespace="FooNamespace" %>
<%@ Page language="c#" Codebehind="Foo.aspx.cs" AutoEventWireup="false" Inherits="FooNamespace.FooWebForm"
"%>

--
Scott
http://www.OdeToCode.com/blogs/scott/
Bruce,

This is an interesting topic.

It would seem that
http://msdn.microsoft.com/library/de...ry/en-us/cpgen
ref/html/gngrfCodeBase.asp
implies that the codebase *can* be used by
web applications, since that page specifies that:
"If the assembly has a strong name, the codebase setting can be
anywhere on the local intranet or the Internet. If the assembly is a
private assembly, the codebase setting must be a path relative to the
application's directory."

and, it also specifies that :

"This element can be used in the application configuration file,
machine configuration file (machine.config), and the publisher policy
file."

I don't see any restrictions regarding usage only in Winforms.

Also, the info in

http://msdn.microsoft.com/library/de...ry/en-us/cpgui
de/html/cpconconfiguringieapplications.asp

states that:

"The administrator can use the <probing> element in the configuration
file to specify that the runtime should search for assemblies in
subdirectories of the application base.

Suppose that www.adventure-works.com/webApp/StockCalc maps to
C:\Inetpub\Wwwroot\Webapps\StockCalc.

Putting <probing privatePath="bin"/> in the configuration file
causes the runtime to search for assemblies in
C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin
as well as C:\Inetpub\Wwwroot\Webapps\StockCalc."
The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin"
strongly suggests that a web application is using the <probing>
element to locate an assembly.
I confess I'm not an expert in this field, but the implications
of the statements in that page are very strong in favor of
web applications being able to use the <runtime>
configuration section of web.config.
If I'm being misled by these documents,
I'm ready to hear otherwise, though.
Juan T. Llibre
ASP.NET MVP
===========
"bruce barker" <no***********@safeco.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
no its not.

this is probably because the dll's are needed for the page compile
first.
the compiler references are specified in the <assemblies> section
(which
asp.net passes to the compiler thru switches when it spawns it).
unfortunately you can only specify the name in the <assemblies>
section,
not
the path, as this is specified with the compiler lib switch.
-- bruce (sqlwork.com)

"Subra Mallampalli" <su**********************@newsgroups.nospam>
wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
| Hi,
|
| I am trying to use <runtime> section within the web.config file.
However,
| the contents of the <runtime> section seem to be ignored. What am i
missing
| here? Is <runtime> section not used by web apps?
|
| Any help is greatly appreciated.
|
| Thanks,
|
| Subra
|
|

Nov 19 '05 #7

P: n/a
Scott,

Thanks! the Assembly directive was the piece I was missing. I was thinking
that the framework would automatically probe all the folders specified in
<probing> and try to load the type, but it seems that it doesn't do that.

If I were to specify the full type for the inherits attribute of the page
directive (Inhertis="FooNamespace.FooWebForm, FooAssemblyName"), it works
like a charm. With this change, I dont need the assembly or the imports
directives (we use XSL transforms and our aspx pages have no code).

However the <runtime> tag is effective only in the web.config file in the
application folder (and not in the subfolders). So, if i want to maintain
sub applications in subfolders with their own bin folders, I will have to
modify the root web.config file to include details about every subfolder.

Also, it is not clear to me if a dll change in one of the probing folders
would automatically reload the entire web application.

Thanks, again!

Subra

"Scott Allen" <sc***@nospam.OdeToCode.com> wrote in message
news:55*********************@msnews.microsoft.com. ..
Yes, what you can do is specify another subdir to probe for assemblies, ie:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Foo/bin" />
</assemblyBinding>
</runtime>
<configuration>

If the codebehind for an ASPX file is compiled into the assembly in Foo/bin, the @ Assembly directive can be used to link the two:

<%@ Assembly Name="Foo" %>
<%@ Import Namespace="FooNamespace" %>
<%@ Page language="c#" Codebehind="Foo.aspx.cs" AutoEventWireup="false" Inherits="FooNamespace.FooWebForm" "%>

--
Scott
http://www.OdeToCode.com/blogs/scott/
Bruce,

This is an interesting topic.

It would seem that
http://msdn.microsoft.com/library/de...ry/en-us/cpgen
ref/html/gngrfCodeBase.asp
implies that the codebase *can* be used by
web applications, since that page specifies that:
"If the assembly has a strong name, the codebase setting can be
anywhere on the local intranet or the Internet. If the assembly is a
private assembly, the codebase setting must be a path relative to the
application's directory."

and, it also specifies that :

"This element can be used in the application configuration file,
machine configuration file (machine.config), and the publisher policy
file."

I don't see any restrictions regarding usage only in Winforms.

Also, the info in

http://msdn.microsoft.com/library/de...ry/en-us/cpgui
de/html/cpconconfiguringieapplications.asp

states that:

"The administrator can use the <probing> element in the configuration
file to specify that the runtime should search for assemblies in
subdirectories of the application base.

Suppose that www.adventure-works.com/webApp/StockCalc maps to
C:\Inetpub\Wwwroot\Webapps\StockCalc.

Putting <probing privatePath="bin"/> in the configuration file
causes the runtime to search for assemblies in
C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin
as well as C:\Inetpub\Wwwroot\Webapps\StockCalc."
The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin"
strongly suggests that a web application is using the <probing>
element to locate an assembly.
I confess I'm not an expert in this field, but the implications
of the statements in that page are very strong in favor of
web applications being able to use the <runtime>
configuration section of web.config.
If I'm being misled by these documents,
I'm ready to hear otherwise, though.
Juan T. Llibre
ASP.NET MVP
===========
"bruce barker" <no***********@safeco.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
no its not.

this is probably because the dll's are needed for the page compile
first.
the compiler references are specified in the <assemblies> section
(which
asp.net passes to the compiler thru switches when it spawns it).
unfortunately you can only specify the name in the <assemblies>
section,
not
the path, as this is specified with the compiler lib switch.
-- bruce (sqlwork.com)

"Subra Mallampalli" <su**********************@newsgroups.nospam>
wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
| Hi,
|
| I am trying to use <runtime> section within the web.config file.
However,
| the contents of the <runtime> section seem to be ignored. What am i
missing
| here? Is <runtime> section not used by web apps?
|
| Any help is greatly appreciated.
|
| Thanks,
|
| Subra
|
|


Nov 19 '05 #8

P: n/a
Hi Subra:

Glad to help out.

As for the last question (does a overwriting an assembly in the probing folder
reload the app?) - I'm not sure. My guess is no.

I'm pretty sure the runtime won't even shadow copy these assemblies because
only the bin directory is setup for shadow copy. You might not be able to
overwrite those assemblies without an iisreset. Not 100% sure on this however
- would need to verify with an experiment.

--
Scott
http://www.OdeToCode.com/blogs/scott/
Scott,

Thanks! the Assembly directive was the piece I was missing. I was
thinking that the framework would automatically probe all the folders
specified in <probing> and try to load the type, but it seems that it
doesn't do that.

If I were to specify the full type for the inherits attribute of the
page directive (Inhertis="FooNamespace.FooWebForm, FooAssemblyName"),
it works like a charm. With this change, I dont need the assembly or
the imports directives (we use XSL transforms and our aspx pages have
no code).

However the <runtime> tag is effective only in the web.config file in
the application folder (and not in the subfolders). So, if i want to
maintain sub applications in subfolders with their own bin folders, I
will have to modify the root web.config file to include details about
every subfolder.

Also, it is not clear to me if a dll change in one of the probing
folders would automatically reload the entire web application.

Thanks, again!

Subra

"Scott Allen" <sc***@nospam.OdeToCode.com> wrote in message
news:55*********************@msnews.microsoft.com. ..
Yes, what you can do is specify another subdir to probe for
assemblies,

ie:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Foo/bin" />
</assemblyBinding>
</runtime>
<configuration>
If the codebehind for an ASPX file is compiled into the assembly in

Foo/bin,
the @ Assembly directive can be used to link the two:

<%@ Assembly Name="Foo" %>
<%@ Import Namespace="FooNamespace" %>
<%@ Page language="c#" Codebehind="Foo.aspx.cs"
AutoEventWireup="false"

Inherits="FooNamespace.FooWebForm"
"%>

--
Scott
http://www.OdeToCode.com/blogs/scott/
Bruce,

This is an interesting topic.

It would seem that
http://msdn.microsoft.com/library/de...rary/en-us/cpg
en
ref/html/gngrfCodeBase.asp
implies that the codebase *can* be used by
web applications, since that page specifies that:
"If the assembly has a strong name, the codebase setting can be
anywhere on the local intranet or the Internet. If the assembly is a
private assembly, the codebase setting must be a path relative to
the
application's directory."
and, it also specifies that :

"This element can be used in the application configuration file,
machine configuration file (machine.config), and the publisher
policy file."

I don't see any restrictions regarding usage only in Winforms.

Also, the info in

http://msdn.microsoft.com/library/de...rary/en-us/cpg
ui de/html/cpconconfiguringieapplications.asp

states that:

"The administrator can use the <probing> element in the
configuration file to specify that the runtime should search for
assemblies in subdirectories of the application base.

Suppose that www.adventure-works.com/webApp/StockCalc maps to
C:\Inetpub\Wwwroot\Webapps\StockCalc.

Putting <probing privatePath="bin"/> in the configuration file
causes the runtime to search for assemblies in
C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin
as well as C:\Inetpub\Wwwroot\Webapps\StockCalc."
The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin"
strongly suggests that a web application is using the <probing>
element to locate an assembly.
I confess I'm not an expert in this field, but the implications
of the statements in that page are very strong in favor of
web applications being able to use the <runtime>
configuration section of web.config.
If I'm being misled by these documents,
I'm ready to hear otherwise, though.
Juan T. Llibre
ASP.NET MVP
===========
"bruce barker" <no***********@safeco.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
no its not.

this is probably because the dll's are needed for the page compile
first.
the compiler references are specified in the <assemblies> section
(which
asp.net passes to the compiler thru switches when it spawns it).
unfortunately you can only specify the name in the <assemblies>
section,
not
the path, as this is specified with the compiler lib switch.
-- bruce (sqlwork.com)
"Subra Mallampalli" <su**********************@newsgroups.nospam>
wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
| Hi,
|
| I am trying to use <runtime> section within the web.config file.
However,
| the contents of the <runtime> section seem to be ignored. What am
i
missing
| here? Is <runtime> section not used by web apps?
|
| Any help is greatly appreciated.
|
| Thanks,
|
| Subra
|
|

Nov 19 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.