asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

asp.net 学习笔记


发布日期:2019年09月20日
 
asp.net 学习笔记

用WSDL命令可以注册web service

在APSNET中创建WEB服务

ASMX扩展名保存文件

<%@ WebService Language=c# class=TestWS %>

using SystemWebServices;

class TestWS

{

[WebMethod]

public string SayHello(string name)

{

return Hello+name;

}

}

POST 调用Web service

//以下为l文件内容

<form name=f method=post action=>

<input type=test name=name><input type=submit>

</form>

Get 调用Web service

在url中传参

如:

将APSX页面修改为用户控件

去除<html> <body> <form>元素

将Web窗体页中ASPNET指令类型从@Page更改为@Control

更改指令的CodeBehind属性引用以反映aspx扩展名将更改为 ascx

将基类从SystemWebUIPage更改为SystemWebUIUserControl

在用户控件中控件的值可以定义属性

有一个用户控件如果无法访问的话可以用FindControl方法

变量=((testControl)thisFindControl(tc))txtUsername;

//ResponseWrite(((testControl)thisFindControl(tc))txtUsername);

(testControl)是强制类型转换括号内是类型

FindControl(tc) tc是控件的name

txtUsername是控件的属性

用户控件的使用(在APSX页面中注册)

<%@ Register TagPrefix=uc TagName=menu Src=menuascx %>

TagPrefix 确定用户控件的唯一命名空间它将是标记中控件名称的前缀

TagName 为用户控件的名称

Src 用户控件的虚拟路径例如UserControlascx

WEB自定义控件

nfig

<!

说明:

所有的配置都必须被放在<configuration>和</configuration>标记之中

<appSettings>和</appSettings>之间是自定义配置通常用来自己设置一些常量Add添加常量Key是常量的名称

value是常量的值

<appSettings>

<add key=con value=server=;database=northwind;uid=sa;pwd=;></add>

</appSettings>

在程序中可以用SystemConfigurationConfigurationSettingsAppSettings[con]取值

SqlConnection con=new SqlConnection(SystemConfigurationConfigurationSettingsAppSettings[con]);

conOpen();

SqlCommand cmd=new SqlCommand(select * from employeescon);

thisDataGridDataSource=cmdExecuteReader();

thisDataGridDataBind();

<systemweb>和</systemweb>之间的标记是关于整个应用程序的设置

如 <pages buffer=true/> 使用页缓沖

<location>和</location>是一个区域标记Path=aaa表示下面的设置只对该文件有效

>

customErrors设置(在<systemweb>和</systemweb>之间)

语法

<customErrors

defaultRedirect=url

mode=On|Off|RemoteOnly>

<error statusCode=statuscode redirect=url/>

</customErrors>

身份验证和授权

身份验证类型: WINDOWS 描述: WINDOWS 身份难作为默认的身份验证模式用于任何形式的IIS身份验证

身份验证类型: FORMS 描述: 基于APSNET窗体的身份验证作为默认的身份验证模式

身份验证类型: PASSPORT 描述:Microsoft Passport身份验证作为默认的身份验证模式

身份验证类型: NONE 描述: 没有身份验证用于匿名用户和可以提供其自己的身份验证的应用程序

<configuration>

<systemweb>

<authentication mode=Windows|Forms|Passport|None>?

<forms name=name loginUrl=url

protection=All|NOne|Encryption

timeout=xx path=/>?

<credentials passwordFormat=Clear|SHA|MD> /*Clear为明文密码*/

<user name=用户名 password=密码/>

</credentials>

</forms>?

<passport redirectUrl=internal/>?

</authentication>

</systemweb>

</configuration>

//基于forms先把IIS中该应用的匿名访问去掉

<forms>标记的属性

属性选项描述

name None登录身份验证的Cookie名称

loginUrl None登录页URL如果没有身份验证Cookie客户端将被重定向到此URL

protection ALL 应用程序同时使用数据验证和加密来保护Cookie

None加密和验证都禁用

timeout一段时间(按分钟计)这段时间之后身份验证Cookie将到期默认值为

path 由应用程序发布的Cookie的路径默认值是反斜槓(/)

<authentication mode=Forms>

<forms name=YourCookieName loginUrl=loginaspx protection=ALL></forms>

</authentication>

//授权

<authorization>

<allow users=?/>//<allow users=*/><!允许所有用户 >

<!

<allow users=[逗号分隔的用户列表]

roles=[逗号分隔的角色列表]/>

<deny users=[逗号分隔的用户列表]

roles=[逗号分隔的角色列表]/>

>

</authorization>

//loginaspx

登录代码

//连接数据库进行验证

if(true)//用户名是否合法

{

// SystemWebSecurityFormsAuthenticationSetAuthCookie(thisTextBoxTextfalse);//指定的用户名写入到Cookie中(false临时Cookietrue永久Cookie)

// ResponseRedirect();

SystemWebSecurityFormsAuthenticationRedirectFromLoginPage(thisTextBoxTextfalse);//转到用户原访问的页

//如果为true可用SystemWebSecurityFormsAuthenticationSignOut();删除以后又要求登录

}

else

{

ResponseWrite(用户不合法);

}

//如果用户少的话可以不用数据库直接允许/拒绝用户

<authentication mode=Forms

<forms name=authCre loginUrl=loginaspx protection=ALL>

<credentials passwordFormat=Clear>

<user name=aaa password=aaa/>

<user name=bbb password=bbb/>

</credentials>

</forms>

</authentication>

登录代码

private void Button_Click(object senderSystemEventArgs e)

{

if(SystemWebSecurityFormsAuthenticationAuthenticate(thisTextBoxTextThisTextBoxText)

{

// SystemWebSecurityFormsAuthenticationSetAuthCookie(thisTextBoxTexttrue);//此方法需重定向

// ResponseRedirect(WebFormaspx);

SystemWebSecurityFormsAuthenticationRedirectFromLoginPage(thisTextBoxTextfalse);//此方法不需要重定向直接转到原访问页

}

else

{

ResponseWrite(用户不合法);

}

}

//授权时通配符*表示任何人?表示匿名               

上一篇:ASP.NET中App

下一篇:在Asp.net MVC中使用Repeater