C# 通用处理程序isn';t显示为可用选项。我如何添加它?
我需要通用处理程序,但当我尝试添加它时,它不在列表中。我看到ASP.net处理程序,但没有看到通用处理程序 我需要连接到一个Podio webhook,我正在按照 下面是代码示例:C# 通用处理程序isn';t显示为可用选项。我如何添加它?,c#,visual-studio,podio,C#,Visual Studio,Podio,我需要通用处理程序,但当我尝试添加它时,它不在列表中。我看到ASP.net处理程序,但没有看到通用处理程序 我需要连接到一个Podio webhook,我正在按照 下面是代码示例: <%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; using PodioAPI; public class Handler : IHttpHandler { public void
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using PodioAPI;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
// API key setup
string clientId = "YOUR_CLIENT_ID";
string clientSecret = "YOUR_CLIENT_SECRET";
// Authentication setup
int appId = 123456;
string appToken = "YOUR_APP_TOKEN";
// Setup client and authenticate
var podio = new Podio(clientId, clientSecret);
podio.AuthenticateWithApp(appId, appToken);
// Big switch statement to handle the different events
var request = context.Request;
switch (request["type"])
{
case "hook.verify":
podio.HookService.ValidateHookVerification(int.Parse(request["hook_id"]), request["code"]);
break;
// An item was created
case "item.create":
// For item events you will get "item_id", "item_revision_id" and "external_id". in post params
int itemIdOfCreatedItem = int.Parse(request["item_id"]);
// Fetch the item and do what ever you want
break;
// An item was updated
case "item.update":
// For item events you will get "item_id", "item_revision_id" and "external_id". in post params
int itemIdOfUpdatedItem = int.Parse(request["item_id"]);
// Fetch the item and do what ever you want
break;
// An item was deleted
case "item.delete":
// For item events you will get "item_id", "item_revision_id" and "external_id". in post params
int deletedItemId = int.Parse(request["item_id"]);
break;
}
}
public bool IsReusable {
get {
return false;
}
}
}
使用制度;
使用System.Web;
使用OAPI;
公共类处理程序:IHttpHandler{
公共void ProcessRequest(HttpContext上下文){
//API密钥设置
string clientId=“您的客户识别码”;
string clientSecret=“您的客户秘密”;
//身份验证设置
int-appId=123456;
string appToken=“您的应用程序令牌”;
//安装客户端并进行身份验证
var podio=新的podio(clientId,clientSecret);
podio.AuthenticateWithApp(appId、appToken);
//处理不同事件的大开关语句
var-request=context.request;
开关(请求[“类型”])
{
案例“hook.verify”:
podio.HookService.ValidateHookVerification(int.Parse(请求[“hook_id]”)、请求[“code]”);
打破
//已创建一个项目
案例“item.create”:
//对于项目事件,您将在post参数中获得“项目id”、“项目修订id”和“外部id”
int itemIdOfCreatedItem=int.Parse(请求[“item_id]”);
//取回物品,做任何你想做的事
打破
//更新了一个项目
案例“item.update”:
//对于项目事件,您将在post参数中获得“项目id”、“项目修订id”和“外部id”
int itemIdOfUpdatedItem=int.Parse(请求[“item_id]”);
//取回物品,做任何你想做的事
打破
//删除了一个项目
案例“item.delete”:
//对于项目事件,您将在post参数中获得“项目id”、“项目修订id”和“外部id”
int deletedetimid=int.Parse(请求[“项目id]”);
打破
}
}
公共布尔可重用{
得到{
返回false;
}
}
}
你是说你没有看到IHttpHandler
?您是否添加了System.Web
作为参考?是的,我在顶部添加了“使用System.Web”。不,我的意思是,当我尝试向项目中添加项时,我不认为通用处理程序是一个选项。只需添加一个基本类并自己键入即可。我假设您在通过单击项目并选择“AddNew…”来添加新项时,正在讨论模板类型?我自己打的,上面有红线:IHttpHandler和HttpContextI也明确添加了System.web
作为参考,同样的红线也在那里。你是说你没有看到IHttpHandler
?您是否添加了System.Web
作为参考?是的,我在顶部添加了“使用System.Web”。不,我的意思是,当我尝试向项目中添加项时,我不认为通用处理程序是一个选项。只需添加一个基本类并自己键入即可。我假设您在添加一个新项目时,通过单击项目并选择“添加新…”来谈论模板类型。我自己键入了它,我在上面得到了红线:IHttpHandler和HttpContextI也明确添加了System.web
作为参考,同样的红线也在那里。