相关疑难解决方法(0)

更改默认的ASP MVC请求标头以添加您自己的值

我试图将我的所有ASP MVC HTTP响应标头更改为默认情况下具有另一个值,以便在我的博客应用程序中实现Pingback自动发现.

默认标头(在Cassini上)是:

Cache-Control   private
Connection  Close
Content-Length  20901
Content-Type    text/html; charset=utf-8
Date    Fri, 20 Apr 2012 22:46:11 GMT
Server  ASP.NET Development Server/10.0.0.0
X-AspNet-Version    4.0.30319
X-AspNetMvc-Version 3.0
Run Code Online (Sandbox Code Playgroud)

我想要一个额外的增值:

X-Pingback: http://localhost:4912/pingback/xmlrpcserver
Run Code Online (Sandbox Code Playgroud)

我已经google了一下,找到了一个neet解决方案: - 从ActionFilterAttribute派生并覆盖OnResultExecuted方法:

public class HttpHeaderAttribute : ActionFilterAttribute
    {

        public string Name { get; set; }
        public string Value { get; set; }

        public HttpHeaderAttribute(string name, string value)
        {
            Name = name;
            Value = value;
        }

        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            filterContext.HttpContext.Request.Headers.Add(Name, Value);
            base.OnResultExecuted(filterContext); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc http-headers

9
推荐指数
2
解决办法
1万
查看次数

为FileResult设置ETag - MVC 3

MVC 3 RTM.我有一个返回文件的动作(image/jpeg).我试图为一个文件设置ETag没有成功(etag没有通过标题).我已经尝试了Response.Cache.SetETag和Response.AppenderHeader.如果我添加自己的自定义标头标签,它按预期工作,它似乎是我无法设置的ETag.

这是来源.

        [HttpGet, OutputCache(Location= OutputCacheLocation.Client, VaryByParam="userId", Duration=3600, NoStore=true)]
        public ActionResult GetImage(string userId)
        {
            byte[] result;

            using (var client = new WebClient())
            {
                client.Credentials = CredentialCache.DefaultCredentials; 
                result = client.DownloadData(string.Format(IntranetUrl, userId));
            }

            Response.Cache.SetETag("00amyWGct0y_ze4lIsj2Mw");
            //or Response.AppendHeader("ETag", "00amyWGct0y_ze4lIsj2Mw");
            Response.AppendHeader("MyHeader", "HelloWorld");

            return File(result, "image/jpeg");
        }
Run Code Online (Sandbox Code Playgroud)

这是资源请求/响应:

> Request
> URL:http://localhost/MyApp/Employee.mvc/GetImage?userId=myUserId
> Request Method:GET Status Code:200 OK
> Request Headers Accept:*/*
> Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
> Accept-Encoding:gzip,deflate,sdch
> Accept-Language:en-US,en;q=0.8
> Cache-Control:max-age=0
> Connection:keep-alive
> Cookie:ASP.NET_SessionId=mySessionId
> Host:localhost
> Referer:http://localhost/MyApp/Employee/Review/24/Index
> User-Agent:Mozilla/5.0 (Windows; U;
> Windows NT …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc etag asp.net-mvc-3

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

如何缓存asp.net网站以获得更好的性能

我是一名网页设计师,通常设计公司网站,通常不需要更新.所以我想将输出缓存一天.我怎样才能做到这一点?

此外,还接受任何有关在慢速服务器上提高asp.net性能的建议.

asp.net performance caching

2
推荐指数
2
解决办法
3877
查看次数