小编Nav*_*eth的帖子

如何通过静态变量访问ASP.NET Core中的Session?

在早期版本的Asp.Net会话中,可以在任何页面中访问,如静态变量使用

System.Web.HttpContext.Current.Session["key"]
Run Code Online (Sandbox Code Playgroud)

在Asp.Net Core中,如何访问通过控制器调用的不同类中的会话,而不将会话属性作为所有类的构造函数中的附加参数传递

session asp.net-core-mvc asp.net-core

8
推荐指数
1
解决办法
9864
查看次数

动态 web api odata 元数据附加属性

api odata使用 的网页中v4 protocol,如何添加附加属性?

完全动态,无实体框架,无反射提供者,
调用url时动态生成元数据。

编辑
Web Api 请求 url:
http://locahost/Service1/EntitySet1

实际的json输出:

{"@odata.context":"some url", value:[{"id":1}]}  
Run Code Online (Sandbox Code Playgroud)

预期的 json 响应:

{"@odata.context":"some url", value:[{"id":1}], "ExtraCustomAttribute": "custom value"}  
Run Code Online (Sandbox Code Playgroud)

如何在响应中添加此自定义属性web api odata v4 json

在元数据调用(edmx响应)和实例负载调用(json响应)中。

annotations dynamic odata data-annotations asp.net-web-api

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

如何访问AspnetCore 1.0中的ServerVariables

在现有的.Net网站中,可以使用服务器变量访问

HttpContext.Current.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]
Run Code Online (Sandbox Code Playgroud)

如何访问AspnetCore 1.0 Web应用程序中的ServerVariables?
在控制器内部调试时,this.HttpContext.Features不包含IServerVariablesFeature.

server-variables httpcontext request.servervariables asp.net-core

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

从控制器下载文件

在Aspnet5 RC1 update1 Web应用程序中,尝试与Response.BinaryWrite一样,在旧的AspNet应用程序中下载文件.用户需要在客户端获得弹出保存对话框.

使用以下代码时,客户端会出现一个弹出提示以保存文件.

public void Configure(IApplicationBuilder app)
{
    //app.UseIISPlatformHandler();
    //app.UseStaticFiles();
    //app.UseMvc();
    app.Run(async (objContext) =>
    {
        var cd = new System.Net.Mime.ContentDisposition { 
                     FileName = "test.rar", Inline = false };
        objContext.Response.Headers.Add("Content-Disposition", cd.ToString());
        byte[] arr = System.IO.File.ReadAllBytes("G:\\test.rar");
        await objContext.Response.Body.WriteAsync(arr, 0, arr.Length);
    });
}
Run Code Online (Sandbox Code Playgroud)

但是当在Controller的动作中使用相同的代码时,app.Run被注释掉,保存弹出窗口没有出现,内容只是呈现为文本.

[Route("[controller]")]
public class SampleController : Controller
{
    [HttpPost("DownloadFile")]
    public void DownloadFile(string strData)
    {
        var cd = new System.Net.Mime.ContentDisposition { 
                     FileName = "test.rar", Inline = false };                
        Response.Headers.Add("Content-Disposition", cd.ToString());
        byte[] arr = System.IO.File.ReadAllBytes("G:\\test.rar");                
        Response.Body.WriteAsync(arr, 0, arr.Length);  
Run Code Online (Sandbox Code Playgroud)

需要的是,控制流需要来到控制器,执行一些逻辑,然后将byte []响应内容发送到客户端,用户需要保存文件.没有cshtml,只是简单的html与jquery …

c# asp.net downloadfile asp.net-core

4
推荐指数
1
解决办法
9911
查看次数

如何在ASP.NET 5 RC 1中使用JavaScriptSerializer?

在早期版本的ASP.NET中,System.Web.Script.Serialization.JavaScriptSerializer可用.用法:

Dictionary<string, object> sample = (Dictionary<string, object>)new JavaScriptSerializer().DeserializeObject("...");
Run Code Online (Sandbox Code Playgroud)

在ASP.NET 5 RC 1中,JavaScriptSerializer默认情况下似乎不可用.

  1. 如何添加JavaScriptSerializerASP.NET 5 RC 1?
  2. 由于System.Web新版本不提供,有没有替代方案?

c# serialization javascriptserializer asp.net-core-mvc asp.net-core

3
推荐指数
1
解决办法
2641
查看次数