ASP.NET 编译和部署
项目和网站的区别
项目编译成dll,网站通过“发布网站”来部署
部署目的地:/bin目录下
7个顶级目录及其编译情况
三种部署方式及其程序集生成情况 (程序集影子拷贝)
定制程序集生成:
<compilation>
<codeSubDirectories>
<add directoryName="vb_components"/>
<add directoryName="cs_components"/>
<add directoryName="wsdl-files"/>
<add directoryName="xsd-files"/>
</codeSubDirectories>
</compilation>
利用App_Code目录 部署自定义数据源类 的应用示例
数据源类:
namespace EssentialAspDotNet.Architecture
{
public static class MyDataSource
{
static string[] _items =
{"Item #1", "Item #2", "Item #3", "Item #4",
"Item #5", "Item #6", "Item #7", "Item #8",
"Item #9", "Item #10"};
public static string[] GetItems()
{
return _items;
}
}
}
前台页:
<body>
<form runat="server" id="_form">
<h1>Test ASP.NET 2.0 Page with declarative data binding</h1>
<asp:BulletedList runat="server" ID="_displayItems"
DataSourceID="_itemsDataSource">
<asp:ListItem>Sample item 1</asp:ListItem>
<asp:ListItem>Sample item 2 ...</asp:ListItem>
</asp:BulletedList>
<h2 runat="server" id="_messageH2">Total number of items = xx</h2>
<asp:ObjectDataSource runat="server" ID="_itemsDataSource"
TypeName="EssentialAspDotNet.Architecture.MyDataSource"
SelectMethod="GetItems" />
</form>
</body>
相关文档:
今天在用DataList的模板列的时候习惯性地像在03中那样去给模板列的绑定字段加个处理函数:
< asp:Label ID = " Label1 " runat = " server " Text = ' <%#ConvertState(Bind("Status"))%> ' ></ asp:Label >
可是竟然出错:当前上下文中不存在名称“Bind” ......
我的机子原本就有Internet信息服务(IIS)的安装选项,下了很多版本的IIS或i386文件可就是缺这缺那的,如:iisapp.vbs
按网上说的修复数据也毫无起色,最后
解决方案:
首先在“开始”菜单的“运行”中输入“c:\Windows\inf\sysoc.inf”,系统会自动使用记事本打开sy ......
解决方法:
1.看看你的Terminal Services服务启动没有,如果没有启动就可以解决问题。
2确认 Machine Debug Manager 服务已启动
3、打开项目属性,在“Debug”(调试)一项里,把“Enable the Visual Studio hosting process”(启用Visual Studio 宿主进程)前的钩去掉。
4. ......
1.使用Page.IsPostBack减少页面回发次数
2.避免使用服务器控件,如果用到服务器控件,有些控件不需要维护其状态,可以设置其属性: EnableViewState=false;
如果整个页面控件都不需要维持状态视图,则可以设置整个页面的状态视力为false:
代码如下: <%@ Page Enable ......