标签: global-asax

Web API控制器中的多个HttpPost方法

我开始使用MVC4 Web API项目,我有多种HttpPost方法的控制器.控制器如下所示:

调节器

public class VTRoutingController : ApiController
{
    [HttpPost]
    public MyResult Route(MyRequestTemplate routingRequestTemplate)
    {
        return null;
    }

    [HttpPost]
    public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
    {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

这里MyRequestTemplate表示负责处理通过请求的Json的模板类.

错误:

当我让使用招为请求http://localhost:52370/api/VTRouting/TSPRoutehttp://localhost:52370/api/VTRouting/Route 我得到一个错误:

找到了与请求匹配的多个操作

如果我删除上述方法之一,它工作正常.

Global.asax中

我已经尝试修改默认路由表global.asax,但我仍然收到错误,我认为我在global.asax中定义路由时遇到问题.这是我在global.asax中所做的.

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapHttpRoute(
        name: "MyTSPRoute",
        routeTemplate: "api/VTRouting/TSPRoute",
        defaults: new { }
    );

    routes.MapHttpRoute(
        name: "MyRoute",
        routeTemplate: "api/VTRouting/Route",
        defaults: new { action="Route" }
    );
}
Run Code Online (Sandbox Code Playgroud)

我正在使用POST在Fiddler中发出请求,在RequestBody中为MyRequestTemplate传递json.

c# global-asax asp.net-web-api asp.net-web-api-routing

126
推荐指数
5
解决办法
17万
查看次数

我怎样才能使用global.asax中的Server.MapPath()?

我需要用来Server.MapPath()组合我存储在的一些文件路径web.config.

但是,由于Server.MapPath()依赖于当前的HttpContext(我认为),我无法做到这一点.在尝试使用该方法时,即使它"可用",我也会遇到以下异常:

在此上下文中无法使用服务器操作.

是否有另一种方法可以将Web根目录相对目录映射~/App_Data/到完整的物理路径,例如C:\inetpub\wwwroot\project\App_data\

c# asp.net server.mappath application-start global-asax

117
推荐指数
2
解决办法
3万
查看次数

"无法加载类型[Namespace] .Global"让我感到悲伤

在我的.Net 2.0 Asp.net WebForms应用程序中,我的Global.asax包含以下代码:

<%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>
Run Code Online (Sandbox Code Playgroud)

但是当我构建时,我得到一个错误陈述 -

无法加载"MyNamespace.Global"类型.

这似乎是因为Global.asax文件中的编译器没有看到MyNamespace命名空间(在文件Global.asax.cs后面的代码中定义)(在R#intellisence中没有显示..).事实证明这是一个非常难以破解...任何帮助将不胜感激!

注意:Global.asax和Global.asax.cs位于同一文件夹中.

注意2:使用csc从vs提示符编译时,编译正常

c# asp.net webforms namespaces global-asax

105
推荐指数
6
解决办法
13万
查看次数

何时在Global.asax中使用Application_Start vs Init?

我想知道在什么情况下我应该在我的文件中将应用程序初始化代码放入Application_Start()vs ?Init()Global.asax

两者之间的区别对我来说似乎并不是很明显,除了Application_start首先被调用之外Init().

  • 为什么我会使用一个而不是另一个?
  • 它真的有所作为吗?
  • 两个事件之间的应用程序状态有何变化?

到目前为止,我能找到的唯一真正的指针是IHttpModule只有一个Init()方法,所以如果我正在做的事情在某些时候可能更适合实现IHttpModule我应该使用Init()方法Global.asax,如果没有别的一致性.

asp.net global-asax

76
推荐指数
2
解决办法
4万
查看次数

可以调试Global.asax吗?

我无法调试global.asax文件!

我在Application_Start()方法中有一些代码,但是当我在方法中设置断点时,它会被忽略!

这是正常的吗?

asp.net global-asax

48
推荐指数
6
解决办法
4万
查看次数

Global.asax.cs文件在哪里?

我正在使用VS 2008.我已经从File-> New-> Website-> Asp.net Website创建了一个新的Asp.net网站项目.

现在我想将Global.asax和.cs文件添加到项目中.所以我右键单击项目 - >添加新项目 - >全局应用程序类.然后我点击了添加按钮.

Global.asax文件添加了内容,如下

<%@ Application Language="C#" %>

 <script runat="server"%>

    void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup

    }

    void Application_End(object sender, EventArgs e) 
    {
        //  Code that runs on application shutdown

    }

    void Application_Error(object sender, EventArgs e) 
    { 
        // Code that runs when an unhandled error occurs

    }

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started

    }

    void …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net visual-studio-2008 global-asax

45
推荐指数
2
解决办法
10万
查看次数

你如何在asp.net-mvc中连接Application_BeginRequest()

我从asp.net-mvc项目的global.aspx.cs中看到

 protected void Application_BeginRequest()
 {
 }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将其添加到我的项目中时,我看不出是什么叫这个方法.我看到基础System.Web.HttpApplication有这个事件,但我没有看到任何覆盖它或订阅此事件.

有人可以解释你如何在asp.net-mvc中连接Application_BeginRequest?

c# asp.net-mvc global-asax

43
推荐指数
1
解决办法
5万
查看次数

Application_End global.asax

在应用程序的生命周期中触发Application_End时,有人可以告诉我吗?当所有会话结束时,Application_End会自动触发吗?+还有其他原因可以触发Application_End吗?

asp.net iis lifecycle application-end global-asax

41
推荐指数
2
解决办法
5万
查看次数

Application_Start和Application_OnStart之间的区别

我正在将ASP.NET MVC代码添加到预先存在的ASP.NET Webforms项目中.的各种教程建议增加路由到从的Application_Start()在Global.asax中调用的方法.我的Global.asax已经有一个带有一些设置代码的Application_OnStart(Object,EventArgs)方法.

如果我尝试同时使用Start和OnStart,则不会调用OnStart(并且安装失败,导致错误).看起来我必须选择其中一个.

我的问题是:我应该使用哪一个?他们之间有什么区别?他们在不同的时间被召唤?

(注:在写这篇文章的时候,顶部 3 谷歌的点击率是无用的和/或误导性的,我希望堆栈溢出可以解决这个问题.)

asp.net asp.net-mvc global-asax

38
推荐指数
3
解决办法
5万
查看次数

在Application_BeginRequest中设置会话变量

我正在使用ASP.NET MVC,我需要设置一个会话变量Application_BeginRequest.问题是,此时对象HttpContext.Current.Session始终是null.

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    if (HttpContext.Current.Session != null)
    {
        //this code is never executed, current session is always null
        HttpContext.Current.Session.Add("__MySessionVariable", new object());
    }
}
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc global-asax asp.net-mvc-3 asp.net-mvc-2

37
推荐指数
2
解决办法
4万
查看次数