在遗留应用程序上使用ASP.NET 2.0 C#进行编码。数据库在MySQL中
如果我从代码
中删除以下行,我想知道是否有任何问题首先<xhtmlConformance mode="Strict"/>
然后,
<compilers>
<compiler language="c#"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
extension=".cs"
compilerOptions="/d:DEBUG;trACE"/>
</compilers>
最后,
<browserCaps>
<case match="^Mozilla/5\.0 \([^)]*\) (Gecko/[-\d]+)(?'VendorProductToken' (?'type'[^/\d]*)([\d]*)/(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*)))?">
browser=Gecko
<filter>
<case match="(Gecko/[-\d]+)(?'VendorProductToken' (?'type'[^/\d]*)([\d]*)/(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*)))">
type=${type}
</case>
<case>
<!-- plain Mozilla if no VendorProductToken found -->
type=Mozilla
</case>
</filter>
frames=true
tables=true
cookies=true
javascript=true
javaapplets=true
ecmascriptversion=1.5
w3cdomversion=1.0
css1=true
css2=true
xml=true
tagwriter=System.Web.UI.HtmlTextWriter
<case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))">
version=${version}
majorversion=0${major}
minorversion=0${minor}
<case match="^b" with="${letters}">
beta=true
</case>
</case>
</case>
<!-- AppleWebKit Based Browsers (Safari...) //-->
<case match="AppleWebKit/(?'version'(?'major'\d?)(?'minor'\d{2})(?'letters'\w*)?)">
browser=AppleWebKit
version=${version}
majorversion=0${major}
minorversion=0.${minor}
frames=true
tables=true
cookies=true
javascript=true
javaapplets=true
ecmascriptversion=1.5
w3cdomversion=1.0
css1=true
css2=true
xml=true
tagwriter=System.Web.UI.HtmlTextWriter
<case match="AppleWebKit/(?'version'(?'major'\d)(?'minor'\d+)(?'letters'\w*))(.* )?(?'type'[^/\d]*)/.*( |$)">
type=${type}
</case>
</case>
<!-- Konqueror //-->
<case match=".+[K|k]onqueror/(?'version'(?'major'\d+)(?'minor'(\.[\d])*)(?'letters'[^;]*));\s+(?'platform'[^;\)]*)(;|\))">
browser=Konqueror
version=${version}
majorversion=0${major}
minorversion=0${minor}
platform=${platform}
type=Konqueror
frames=true
tables=true
cookies=true
javascript=true
javaapplets=true
ecmascriptversion=1.5
w3cdomversion=1.0
css1=true
css2=true
xml=true
tagwriter=System.Web.UI.HtmlTextWriter
</case>
<!-- Opera //-->
<case match="Opera[ /](?'version'(?'major'\d+)(?'minor'\.(?'minorint'\d+))(?'letters'\w*))">
<filter match="[7-9]" with="${major}">
tagwriter=System.Web.UI.HtmlTextWriter
</filter>
<filter>
<case match="7" with="${major}">
<filter>
<case match="[5-9]" with="${minorint}">
ecmascriptversion=1.5
</case>
<case>
ecmascriptversion=1.4
</case>
</filter>
</case>
<case match="[8-9]" with="${major}">
ecmascriptversion=1.5
</case>
</filter>
</case>
</browserCaps>
我相信他们都不需要。目前他们根本需要吗?我真正想知道的是,如果删除它们,是否有任何问题。
我还想知道下面给出的代码段是否与ASP.NET 2.0相关
<sessionState mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="100"/>
当我的应用程序使用MySQL作为数据库并且身份验证模式是windows。
答案 0 :(得分:2)
xhtmlConformance设置将Transitional更改为Strict。主要更改是从表单元素中删除name属性。 Source
指定的编译器是2.0,因此不会有任何实际的编译器更改。但是,编译定义了编译器标志debug和trace。这些可以与#if-statements一起使用。两者都应该在生产环境中删除,就像您将使用一样。请注意,编译器设置应位于system.codeDom下,而不是system.web下。 Source
您的browserCaps可以(应该?)移动到您的App_Browsers文件夹中。您基本上定义了不同浏览器的功能,并且在您的代码中的某处检查您的浏览器是否支持特定的详细信息,如javascript或框架。这很失败,因为像Noscript这样的浏览器插件会使检测无效。
您的sessionState声称是InProc,这意味着它由iis进程处理。连接字符串aint在此模式下使用(您需要StateServer或SqlServer)。 Cookieless = false是默认模式,但您已将会话超时增加到100(默认为20)。 Source