Skip to content

Class ApiAshx

Namespace: Tool.Web.Api
Assembly: Tool.Net.dll

针对于新版Ashx路由模式,的同步,异步,支持

该控制器,相对于Mvc的控制器轻,应有功能都有,可自由扩展。

方便实现,您最想实现的效果,最大的优点还是因为他轻量级。

csharp
public abstract class ApiAshx : IHttpAsynApi, IHttpApi, IDisposable

Inheritance

objectApiAshx

Implements

IHttpAsynApi, IHttpApi, IDisposable

Inherited Members

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

Extension Methods

ObjectExtension.Add<T>(object, object, object), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)

Remarks

代码由逆血提供支持

Properties

ApiKey

获取当前请求的接口唯一ID

csharp
public string ApiKey { get; }

Property Value

string

ContentLength

指定客户端发送的内容长度(以字节计)。

csharp
public long? ContentLength { get; }

Property Value

long?

ContentType

获取或设置传入请求的 MIME 内容类型。(ContentType)

csharp
public string ContentType { get; set; }

Property Value

string

Context

获取当前 请求获取 对象。

csharp
public HttpContext Context { get; }

Property Value

HttpContext

Cookies

获取客户端发送的 Cookie 的集合。

csharp
public IRequestCookieCollection Cookies { get; }

Property Value

IRequestCookieCollection

HttpMethod

获取客户端使用的 HTTP 数据传输方法(如 GET、POST 或 HEAD)。

csharp
public string HttpMethod { get; }

Property Value

string

Request

获取当前 HTTP 请求的 对象。

csharp
public HttpRequest Request { get; }

Property Value

HttpRequest

RequestBody

获取传入的 HTTP 实体主体的内容。

csharp
public Stream RequestBody { get; }

Property Value

Stream

Response

获取当前 HTTP 响应的 对象。

csharp
public HttpResponse Response { get; }

Property Value

HttpResponse

ResponseBody

启用到输出 HTTP 内容主体的二进制输出。

csharp
public Stream ResponseBody { get; }

Property Value

Stream

Exceptions

Exception

Body 不可用。

RouteData

路由模式

csharp
public AshxRouteData RouteData { get; }

Property Value

AshxRouteData

Session

为当前 HTTP 请求获取 对象。

csharp
public ISession Session { get; }

Property Value

ISession

TotalBytes

获取当前输入流中的字节数。

csharp
public long TotalBytes { get; }

Property Value

long

Methods

AshxException(AshxException)

当前API接口发生异常时触发

csharp
protected virtual void AshxException(AshxException ex)

Parameters

ex AshxException

异常信息

Initialize(Ashx)

当链接真实有效时被执行,默认返回成功。(该方法是用于给使用者重写的)

csharp
protected virtual bool Initialize(Ashx ashx)

Parameters

ashx Ashx

当前可以被调起的接口信息

Returns

bool

当前请求会根据返回状态决定是否继续执行接口方法

Json(object)

Json 格式输出,将 System.Object 写入 HTTP 响应流。

csharp
public void Json(object obj)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

Json(object, JsonSerializerOptions)

Json 格式输出,将 System.Object 写入 HTTP 响应流。

csharp
public void Json(object obj, JsonSerializerOptions JsonOptions)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

JsonOptions JsonSerializerOptions

Json 特殊格式输出

JsonAsync(object)

Json 格式输出,将 System.Object 写入 HTTP 响应流。

csharp
public Task JsonAsync(object obj)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

Returns

Task

JsonAsync(object, JsonSerializerOptions)

Json 格式输出,将 System.Object 写入 HTTP 响应流。

csharp
public Task JsonAsync(object obj, JsonSerializerOptions JsonOptions)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

JsonOptions JsonSerializerOptions

Json 特殊格式输出

Returns

Task

OnResult(Ashx)

在请求正常完成结束时触发

csharp
protected virtual void OnResult(Ashx ashx)

Parameters

ashx Ashx

获取接口信息

Redirect(string, bool)

将客户端重定向到新的 URL。 指定新的 URL 并指定当前页的执行是否应终止。

csharp
public void Redirect(string url, bool endResponse)

Parameters

url string

目标的位置。

endResponse bool

指示当前页的执行是否应终止。

Exceptions

ArgumentNullException

url 为 null。

ArgumentException

url 包含换行符。

Exception

在发送了 HTTP 头之后尝试重定向。

ApplicationException

页请求是回调的结果。

Redirect(string)

将请求重定向到新 URL 并指定该新 URL。

csharp
public void Redirect(string url)

Parameters

url string

目标位置。

Exceptions

Exception

在发送了 HTTP 头之后尝试重定向。

Write(object)

将 System.Object 写入 HTTP 响应流。

csharp
public void Write(object obj)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

Write(string)

将一个字符串写入 HTTP 响应输出流。

csharp
public void Write(string test)

Parameters

test string

要写入 HTTP 输出流的字符串。

Write(object, WriteType)

将 System.Object 写入 HTTP 响应流。

csharp
public void Write(object obj, WriteType contentType)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

contentType WriteType

返回客户端的类型

WriteAsync(object)

将 System.Object 写入 HTTP 响应流。

csharp
public Task WriteAsync(object obj)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

Returns

Task

WriteAsync(string)

将一个字符串写入 HTTP 响应输出流。

csharp
public Task WriteAsync(string test)

Parameters

test string

要写入 HTTP 输出流的字符串。

Returns

Task

WriteAsync(object, WriteType)

将 System.Object 写入 HTTP 响应流。

csharp
public Task WriteAsync(object obj, WriteType contentType)

Parameters

obj object

要写入 HTTP 输出流的 System.Object。

contentType WriteType

返回客户端的类型

Returns

Task

基于Apache-2.0协议开源