由.Net/SilverLight撰写的日志
Asp.Net中使用HttpContext.Session NullReferenceException的问题
十二 14th
今天使用HttpContext去生成一个XML,想把一个值放在Session中。
于是我是这么做的
context.Session["userid"]=userid;
报NullReferenceException,奇怪了,context.Session为空?
搜索了一下,原来要继承System.Web.SessionState.IRequiresSessionState这个接口,问题解决,呵呵:)
PS:As和C#代码切换着写还真是难免会写混淆。-_-!
Code
using System;
using System.Web;
using System.Web.SessionState;
public class BuildXml: IHttpHandler, IRequiresSessionState
{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
try
{
context.Session["userid"] = 1;
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
}
public bool IsReusable {
get {
return false;
}
}
}
使用Asp.Net绕过As3的跨域安全沙箱(续)
十一 14th
昨天写了《使用Asp.Net绕过As3的跨域安全沙箱》,有几个小问题。
先上一副图吧。
这里A服务器是我们的服务器,假设了一个Web服务器。放有一个Asp.Net的资源转发文件(即我上面写的redir.ashx),同时有个flash的swf供网友使用。
B服务器是要获取的资源的服务器。
1、天地会上有人说那crossdomain.xml跑哪里去了,因为这里swf与asp.net的转发文件同域,因此这里不用crossdomain.xml也可以了。
2、这种方法的确比较耗资源,其实这样做也是不得已而为之,因为我们有时候需要从其他服务器取一些东西,而对方服务器又不是我们的,让flash直接去取如果对方没有放置crossdomain.xml则会失败。
最好是先判断一下B服务器是否有crossdomain.xml以及其中是否允许直接访问吧,如果允许访问就不要通过A服务器转发:)
同时,天地会上有同学qimming写了PHP和Asp的。转发一下:
<%
'用于实现Flash跨域读取文件
'注意:本程序为asp版,您的空间必须支持asp,使用过多将会加重服务器负担
dim url
url = request("url")
if url = "" then
response.End()
end if
dim obj
Set obj = Server.CreateObject("Msxml2.ServerXMLHTTP")
obj.open "GET",url,false
obj.send()
if obj.readystate<>4 then
response.Redirect(url)
end if
Response.ContentType = "application/octet-stream"
Response.BinaryWrite obj.responseBody
Set obj = nothing
%>
使用Asp.Net绕过As3的跨域安全沙箱
十一 13th
As3的SandBox这点上有点让人感觉非常郁闷。
如果要取不同域上的文件(比如歌曲,图片等),当对方服务器没有crossdomain.xml的时候就会出现安全沙箱错误。
这点有点郁闷。
中午午饭后,想到这个问题,于是用Asp.Net写了个Web Proxy。通过Asp.Net进行资源的转发,解决了跨域的安全沙箱问题。
不过这个东东会加大服务器的带宽和计算压力~
另外还有Kingfo同学的一种方法 一种猥琐的图片跨域的方法
上代码(示例尾随其后)
App_Data引起的一个问题
九 21st
刚刚在逛天地会的时候,发现的一个帖子。《IIS发布后FLASH的问题》
隐约中,感觉我遇到过类似的问题。
MSDN和百度搜索了一下。
的的确确,Asp.Net的安全性角色控制这里做得非常好。
请参考:
MSDN 《ASP.NET 网站布局》,以及cnblogs上的一篇Blog《App_Data文件夹的用处》
简要地说就是:
应用程序文件夹(App_Themes 文件夹除外)的内容并不在响应 Web 请求时提供,但可以从应用程序代码进行访问。
Asp.Net中Repeater控件的两个小Tips
九 17th
很棒的ASP.Net AJAX上传控件-Ajax Uploader
九 9th
这两天做项目用到的。
官方网站:http://ajaxloader.com
下载:http://ajaxuploader.com/download/Ajax-Uploader.zip
(下载速度不是一般般地慢-杭州电信)
下载镜像:Ajax-Uploader.zip
(纳米盘)
Top features and Benefits
Hi-Performance with optimized memory usage
By streaming uploads directly to an output stream, rather than loading them into memory, Ajax Uploader achieves a level of scalability and performance impossible to reach with ASP.NET’s built-in functionality.
Provides rich progress and status information during the upload
Ajax Uploader has a real time progress bar which keeps track。。。
