Solved

problem in using clipboard class in webapplication

Posted on 2009-04-06
4
388 Views
Last Modified: 2013-12-17
Hi

I was reading an article on clipboard.

http://www.codeproject.com/KB/shell/clipboard01.aspx?print=true

But when I am using this code on the web application I am getting runtime error.


"object reference is not set"

I am attaching the code where I am getting this error.

Can't we use it in web application
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))

Open in new window

0
Comment
Question by:KaranGupta
  • 2
4 Comments
 
LVL 15

Accepted Solution

by:
oobayly earned 500 total points
ID: 24075690
I'm guessing that you've included a reference to System.Windows.Forms so that you are able to use the Clipboard object.

You might try calling the Clipboard methods in a Single Thread Aparment (STA).

However, you may find some nasty side effects using the clipboard in a Web App. If two users call the same method at the same time, one my place data in the clipboard, and the other retrieves that data.
Private Sub ee24297524()

    Dim td As New System.Threading.Thread(AddressOf GetClipboardText)

    td.ApartmentState = System.Threading.ApartmentState.STA

    td.Start()

    td.Join()

End Sub
 

Private Sub GetClipboardText()

    Dim b As Boolean = System.Windows.Forms.Clipboard.ContainsText()

End Sub

Open in new window

0
 
LVL 16

Expert Comment

by:sunithnair
ID: 24075695
Why would you want to do this in a web application? This code and post is useful only in the context of a winforms application. If you need to access the client clipboard data then you will have to do it using javascript.
0
 
LVL 15

Expert Comment

by:oobayly
ID: 24075929
Thanks for the points, I gave an answer that would work, but I do agree with sunithnair.
I'd recommend using the Session variable, the cache or a temp file instead of the clipboard.
0
 
LVL 3

Expert Comment

by:techprocess
ID: 24206509
Where to call ee24297524() given in above comment. I getting error -
"the Current thread must be set to single thread apartment (STA) mode before
OLE calls can be made. Ensure that your Main function has STAThreadAttribute
marked on it. This exception is only raised if a debugger is attached to the
process."
Is there is any solution?
Regards,
Krishna Mohan Singh
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now