C# - Leaving A BinaryReader Object Un-disposed In Order To Keep Request.InputStream Alive?

Feb 1, 2011

I have a couple methods to handle the saving of an image using Request.InputStream. I have two extensions that share the HttpContext. In one of my methods, I'm using a BinaryReader to read in the contents and do the processing. However, naturally, when disposing the BinaryReader, it closes off the InputStream property on Request. My SECOND method uses the same input stream to create a thumbnail.

Bascially, I need a way to keep the Request.InputStream property alive after disposing the reader in the first method. Is this possible? Here are my two methods. SaveImageStream() is called first, then GenerateThumbnail().

[Code]....

View 2 Replies


Similar Messages:

C# - Keeping Alive PostedFile.InputStream ?

Jan 21, 2010

I was wondering wich's the best way to "keep alive" the InputStream of the FileUpload Control.I would give you one example. Let's assume you have the FileUpload control in one WebForm, and you want process it in the next WebForm (after Response.Redirect).It would be great (unless for the memory) to have something similar to:

Session["PostedFile"] = this.FileUpload.PostedFile.InputStream.
Unfortunately, this results in:
System.ObjectDisposedException

View 2 Replies

First Request Fails With HTTP 400 (Bad Request) After Reading HttpRequest.InputStream

Oct 24, 2010

I develop an asmx web service (i.e. ASP.NET 2.0). There's a piece of code that may read the contents of the HTTP request (via HttpContext.Current.Request.InputStream) while processing it. I realise that InputStream may only be read once for a request, and I make sure I never try to read it more than once.

The problem seems to be that if InputStream happens to be read during the early stages of the application's lifecycle (e.g. after pskill w3wp, during Application_Start), the HTTP request fails with a HTTP 400 - Bad Request error, with no explanation given, no exception thrown and no entry in the httperr log. If it is read later (e.g. within the web method itself), requests run fine whether InputStream is read or not. Application_Start runs fine if InputStream isn't read.

Is this some sort of ASP.NET bug? IIS bug? Or am I doing something wrong by daring to read InputStream? And if so, is there another way to get a look at the "raw" contents of the request without disturbing the inner workings of IIS/ASP.NET? In short, adding this code within Application_Start is enough to reproduce this error: using (StreamReader reader = new StreamReader(HttpContext.Current.Request.InputStream))reader.ReadToEnd();

View 1 Replies

DataSource Controls :: Get Child Properties Using Parent Object Error / Cannot Access A Disposed Object

Feb 17, 2010

On DBML I have two entities as Parent, Child. I am trying to assign Child class properites in a Parent.

[code]....

I am getting the following Error:

Cannot access a disposed object.

Object name: 'DataContext accessed after Dispose.'.

View 2 Replies

Writing Mp4 File From Request.InputStream?

May 28, 2010

I have a page posting data to me via HTTP POST. What i want is write posted data into mp4 video format file. Here my code how to write that file:

string strFilePath = "D:\Video.mp4";
using (FileStream fs = new FileStream(strFilePath, FileMode.Create))
{
byte[] bytes = new byte[Request.InputStream.Length];
Request.InputStream.Read(bytes, 0, (int)Request.InputStream.Length);
fs.Write(bytes, 0, bytes.Length);
}

My problem is that i got the file, but it's corrupt when playback. Is there any problem with my stream or i missing some decode for mp4 file?

View 2 Replies

C# - Change HttpContext.Request.InputStream

Apr 19, 2010

I am getting lot of errors for HttpRequestValidationException in my event log.

Is it possible to HTMLEncode all the inputs from override of ProcessRequest on web page. I have tried this but it gives context.Request.InputStream.CanWrite == false always.

Is there any way to HTMLEncode all the feilds when request is made?

public override void ProcessRequest(HttpContext context)
{
if (context.Request.InputStream.CanRead)
{
IEnumerator en = HttpContext.Current.Request.Form.GetEnumerator();
while (en.MoveNext())
{
//Response.Write(Server.HtmlEncode(en.Current + " = " +
//HttpContext.Current.Request.Form[(string)en.Current]));
}
long nLen = context.Request.InputStream.Length;
if (nLen > 0)
{
string strInputStream = string.Empty;
context.Request.InputStream.Position = 0;
byte[] bytes = new byte[nLen];
context.Request.InputStream.Read(bytes, 0, Convert.ToInt32(nLen));
strInputStream = Encoding.Default.GetString(bytes);
if (!string.IsNullOrEmpty(strInputStream))
{
List<string> stream = strInputStream.Split('&').ToList<string>();
Dictionary<int, string> data = new Dictionary<int, string>();
if (stream != null && stream.Count > 0)
{
int index = 0;
foreach (string str in stream)
{
if (str.Length > 3 && str.Substring(0, 3) == "txt")
{
string textBoxData = str;
string temp = Server.HtmlEncode(str);
//stream[index] = temp;
data.Add(index, temp);
index++;
}
}
if (data.Count > 0)
{
List<string> streamNew = stream;
foreach (KeyValuePair<int, string> kvp in data)
{
streamNew[kvp.Key] = kvp.Value;
}
string newStream = string.Join("", streamNew.ToArray());
byte[] bytesNew = Encoding.Default.GetBytes(newStream);
if (context.Request.InputStream.CanWrite)
{
context.Request.InputStream.Flush();
context.Request.InputStream.Position = 0;
context.Request.InputStream.Write(bytesNew, 0, bytesNew.Length);
//Request.InputStream.Close();
//Request.InputStream.Dispose();
}
}
}
}
}
}
base.ProcessRequest(context);
}

View 1 Replies

Bad Request 400 Error - Leaving URL

Jan 4, 2011

Why leaving following URL leads to bad request error: [URL] It happens both - if I redirect to, say, ~default.aspx programatically (response.redirect("~Default.aspx"), and if I simply press to asp:hyperlink with URL="~Default.aspx" AND If I try to repeat this error on VS Dev.Server - it doesn't happen. If I try to repaet it by browsing IE on my server machine - it doesn't repeat! It happens only if I browse from dev. machine to uploaded website.

View 3 Replies

C# - CA2000 Object 'comm' Is Not Disposed Along All Exception Paths?

Mar 8, 2011

I have a bunch of methods like so in my DAL in VS 2010. When I run the "new" Code Analysis option i get the message - Warning CA2000 object 'comm' is not disposed along all exception paths. Call System.IDisposable.Dispose on object 'comm' before all references to it are out of scope.

I understand I could use another using statement for the SQLCommand however if prefer to do it like I have with the Try/Finally block. My understanding is the Finally block executes last and does the cleanup.

[Code]....

View 1 Replies

DataSource Controls :: Cannot Access A Disposed Object When Handling Foreign Key Relations?

May 15, 2010

i am currently working on an asp.net mvc 2 web app using LinqToSQL. I would like to handle a scenario where a user comes form a country and for this i have set the users - countries db relationship and in my user model i have a CountryId property.

I would like to display the country name on my users display view, so i tried fetching the country name like this: User.Country.Name, but an exception occurs that i cannot access a disposed object. I understand that this is caused by the way i handle my users repository and service.

This the repository users code:

[Code]....

This is the service users code (the repository is not class level property, but a local one that gets dipsosed immediately after calling it):

[Code]....

So, how could i handle such a scenario, where i would like the Country model to be also fetched in order to use it later? Should i convert the repository model a class level proprty in order not to get disposed?

View 3 Replies

WCF / ASMX :: Keep Object Alive On Server In Service

Nov 19, 2010

I have to keep a datacontext alive in a WCF service. This object is created on every call to the service, by the way decreasing performance. How could I keep this object alive with WCF.

View 2 Replies

State Management :: Session Key Gets Null While Object Alive

Jan 27, 2011

I have a Authorizeclient.aspx.cs page where I set my session value.Authorizeclient.aspx is a blank page. HttpContext.Current.Session["nodeID"]="0". This session value changes from 0 or non zero which depends on the value returned by Database. If no value is returned I assign HttpContext.Current.Session["nodeID"]="0" as the default state else I assign HttpContext.Current.Session["nodeID"]=resolve(nodeID).ToString()

Till this part it works fine as expected. However, I have a requirement that I need to read the nodeID from Session in other application on the same server. I mean this application too is part of the root project where I initially created the Session and set it. The strange thing is the Session["nodeID"] in application gets null "SOMETIMES" Not always. I am trying to read the Session in Page_Load. Sometimes it works fine and sometimes it gets null. Moreover the session object do not die and I can see other keys like Session["Themes"] etc there. The session is in InProc mode and have 20 minutes timeout time.

View 6 Replies

Valum File Upload - Works In Chrome But Not IE - Image Img = Image.FromStream(Request.InputStream)

Dec 6, 2010

I'm using a slightly modified version of Valum's upload [github link], I've modified it to upload to a database but haven't modified the javascript that it is using to get the file into the Request as an InputStream. The following line of code is failing in IE 8 but is confirmed to work in Chrome. using (Image imgInput = Image.FromStream(Request.InputStream)) The error received is "Parameter not valid". It appears to be having an issue with the Input Stream being used but it exists/has data (not sure how to validate if the data is good or not).

Page
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Upload-Pictures</h2>
<div id="file-uploader">
<noscript>
<p>Please enable JavaScript to use file uploader.</p>
</noscript>
</div>
<script src="/Scripts/fileuploader.js" type="text/javascript"></script>
<script type="text/javascript">
function createUploader() {
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
action: '/Admin/FileUpload/' + <%= Model.PropertyId %>,
debug: true
});
}
window.onload = createUploader;
</script>
</asp:Content>
Controller
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult FileUpload(int id)
{
try
{
byte[] newImageByteArray = GetByteArrayForResizedImage(350, Request.InputStream);
byte[] thumbnailByteArray = GetByteArrayForResizedImage(150, Request.InputStream);
//Add to DB
}
catch (Exception ex)
{
// This is where the exception is caught
return Json(new { success = false, message = ex.Message }, "application/json");
}
return Json(new { success = true }, "application/json");
}
private static byte[] GetByteArrayForResizedImage(int imageSize, Stream inputStream)
{
byte[] imageByteArray;
// For some reason in IE the inputStream here is causing it to crash
using (Image imgInput = Image.FromStream(inputStream))
{
//Image processing
}
return imageByteArray;
}
fileuploader.js - qq.FileUploader
/**
* Class that creates upload widget with drag-and-drop and file list
* @inherits qq.FileUploaderBasic
*/
qq.FileUploader = function(o){
// call parent constructor
qq.FileUploaderBasic.apply(this, arguments);
// additional options
qq.extend(this._options, {
element: null,
// if set, will be used instead of qq-upload-list in template
listElement: null,
template: '<div class="qq-uploader">' +
'<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' +
'<div class="qq-upload-button">Upload a file</div>' +
'<ul class="qq-upload-list"></ul>' +
'</div>',
// template for one item in file list
fileTemplate: '<li>' +
'<span class="qq-upload-file"></span>' +
'<span class="qq-upload-spinner"></span>' +
'<span class="qq-upload-size"></span>' +
'<a class="qq-upload-cancel" href="#">Cancel</a>' +
'<span class="qq-upload-failed-text">Failed</span>' +
'</li>',
classes: {
// used to get elements from templates
button: 'qq-upload-button',
drop: 'qq-upload-drop-area',
dropActive: 'qq-upload-drop-area-active',
list: 'qq-upload-list',
file: 'qq-upload-file',
spinner: 'qq-upload-spinner',
size: 'qq-upload-size',
cancel: 'qq-upload-cancel',
// added to list item when upload completes
// used in css to hide progress spinner
success: 'qq-upload-success',
fail: 'qq-upload-fail'
}
});
// overwrite options with user supplied
qq.extend(this._options, o);
this._element = this._options.element;
this._element.innerHTML = this._options.template;
this._listElement = this._options.listElement || this._find(this._element, 'list');
this._classes = this._options.classes;
this._button = this._createUploadButton(this._find(this._element, 'button'));
this._bindCancelEvent();
this._setupDragDrop();
};
fileuploader.js - qq.FileUploaderBasic
/**
* Creates upload button, validates upload, but doesn't create file list or dd.
*/
qq.FileUploaderBasic = function(o){
this._options = {
// set to true to see the server response
debug: false,
action: '/server/upload',
params: {},
button: null,
multiple: true,
maxConnections: 3,
// validation
allowedExtensions: [],
sizeLimit: 0,
minSizeLimit: 0,
// events
// return false to cancel submit
onSubmit: function(id, fileName){},
onProgress: function(id, fileName, loaded, total){},
onComplete: function(id, fileName, responseJSON){},
onCancel: function(id, fileName){},
// messages
messages: {
typeError: "{file} has invalid extension. Only {extensions} are allowed.",
sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
emptyError: "{file} is empty, please select files again without it.",
onLeave: "The files are being uploaded, if you leave now the upload will be cancelled."
},
showMessage: function(message){
alert(message);
}
};
qq.extend(this._options, o);
// number of files being uploaded
this._filesInProgress = 0;
this._handler = this._createUploadHandler();
if (this._options.button){
this._button = this._createUploadButton(this._options.button);
}
this._preventLeaveInProgress();
};

View 1 Replies

WCF / ASMX :: Server Was Unable To Process Request / Object Reference Not Set To An Instance Of An Object?

Apr 16, 2010

I have a webservice, it has few webmethods. when i create a client proxy and invoke the methods to check its response, i am getting this error. Can someone tell me what things can i check to know the cause of this? The error is not saying much hence blocked on this.

View 1 Replies

C# - Order A Object's List?

Feb 16, 2010

i have an object's list where the object has 2 attributes, id and name. I have to order the list by the name of the objects

View 6 Replies

Architecture :: Object Life Cycle - What Is The Order Of Events?

Jan 13, 2010

I'm trying to better understand the life cycle of an object in the .Net framework. My companies Intranet has some custom classes that were written by a vendor that I'm trying to make some modifications to. Specifically I want to set some variables & hashtables to null when use of the object is done. For now I have this in the dispose event.

Is there any info you can point to that would be good reading on the life cycle of an object in the .Net framework? I.e. what order do the events fire in? OnInit, Initialize, finalize Dispose, etc. I have the ASP.net page lifecycle but I'm not looking for that.

View 3 Replies

C# - Monitor Session State In Order To Watch Object Size?

Jul 15, 2010

Is there any way to monitor asp.net session state in order to watch object size, or is there any other practice to find out a way to lighten asp.net session?

View 1 Replies

Cannot Convert From 'System.Data.Linq.Binary' To 'System.IO.BinaryReader'

Aug 20, 2010

my table column is:

AttachContent varbinary (max)

when i try to retrieve the data and i get this below error, i am using linq

cannot convert from 'System.Data.Linq.Binary' to 'System.IO.BinaryReader'

View 1 Replies

MVC :: Are Repositories Automatically Disposed Of In C#?

Dec 6, 2010

Could someone explain what happens to the Repositories that are created when they are no longer needed? Are they automatically disposed of, or should we dispose of them manually?

Using EF4 as the DAL, to keep the program efficient I have been building repositories for the Model that abstract the data needed for specific views or actions. I have also used the Iinterface for the methods and call them in the Controller to pass them to the View. At some point the program needs to pass a behavior or request that requires the creation of a new repository and the process may repeat itself over and over again. What happens to the repositories that created for previous views, but are no longer needed? Should the dispose be written into each repository, or does garbage collection take care of this? How should this handled?

View 6 Replies

Reading InputStream Into Byte Array

May 21, 2010

[Code]....

My fu.PostedFile shows data in it. Each index of the array has different value in it. But arrFileByte shows all the index have 0 as their value. I've used this very code to upload files in the database before. What might be the resaon it is not working now.

View 6 Replies

Disposing An Object After A (possibly Redirected) Request?

Jul 20, 2010

I have a CustomRequestContext object that has to be disposed after each request. I create it in Page_Load and dispose of it in Page_Unload. The only issue is that in certain circumstances I need to call Server.Transfer to redirect to another aspx page instead. In this case, the object should not be unloaded until the new page is ready to be unloaded. What is the nicest way of achieving this?

View 2 Replies

Web Forms :: What Is Meant By The Request And Response Object

May 10, 2013

What is actually meant by the request and response object in asp.net?

View 1 Replies

MVC :: Identity.Name Is Disposed In IIS7 Application Thread?

Jun 16, 2010

I don't know if it's IIS, ASP.NET or IIS7 related. I take a chance here, if you think I'm in the wrong forum, just tell me which one I should post to.

I have made the smallest demo project to illustrate my problem. You can download the sources

Here

Visual Studio 2008, .NET 3.5, IIS7, Windows 7 Ultimate 32 bits. The IIS Website is configured
ONLY for Windows Authentication in an Integreated pipeline app pool (DefaultAppPool).

Here's the problem. I have an Asp.NET MVC 2 application. In an action, I start a thread. The View returns.

The thread is doing it's job... but it needs to access Thread.CurrentPrincipal.Identity.Name

BANG

The worker process of IIS7 stops. I have a window that says: "Visual Studio Just-In-Time Debugger An unhandled exception ('System.Object.DisposedException') occured in w3wp.exe [5524]"

I checked with the debugger and the Thread.CurrentPrincipal.Identity is valid, but the Name property is disposed.

If I put a long wait in the action before it returns the view, then the Thread can do it's job and the Identity.Name is not disposed. So I think the Name gets disposed when the view is returned.

For the sake of the discussion, here's the code that the thread runs (but you can also download the demo project. The link is on top of this post):

[Code]....

Here's the code that starts the thread

[Code]....

View 3 Replies

Web Forms :: Transfer Values From One Page To Another Request Object

Sep 25, 2010

I wanTransfer values from one page to another using Request Object

but when i try store

textBox value into Request object like..

Request["Name"] = txtName.Text;

i get the following Error

Property or indexer 'System.Web.HttpRequest.this[string]' cannot be assigned to -- it is read only

Is Request object allows us to store values init like Session & Application Object.

View 11 Replies

VS 2005 How To Receive POST Variables Using The Request Object

Aug 18, 2010

I know how to retrieve a GET object with Request.Querystring("objname"), but how do I receive POST variables using the Request object, or somehow through the code?

View 2 Replies

Insert Record In SQL Server From Xmlhttp Request Object?

Mar 14, 2010

How to insert one record in SQL Server by using the xmlhttp object and Asp.net

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved