Jimmy Schementi wrote:
Michael Foord wrote:
Jimmy Schementi wrote:
So, did some homework on this. Taking a look at BrowserHttpWebRequest
with Reflector, it definitely has a public ProgressFailed event, but it
says it's read-only.
Dino/Curt, could this behavior happen because BrowserHttpWebRequest
has a methods and events by exactly the same name?
private EventHandler<NetworkProgressChangedEventArgs>
ProgressChanged;
private EventHandler<NetworkProgressChangedEventArgs>
ProgressCompleted;
private EventHandler<NetworkProgressChangedEventArgs>
ProgressFailed;
// Events
public event EventHandler<NetworkProgressChangedEventArgs>
ProgressChanged;
public event EventHandler<NetworkProgressChangedEventArgs>
ProgressCompleted;
public event EventHandler<NetworkProgressChangedEventArgs>
ProgressFailed;
Michael, regardless, for simple downloading I'd use WebClient; the
code is much more concise:
In beta 1 you couldn't do POST requests with WebClient I don't think.
Has that changed in beta 2?
Once I have finished chapter 15 of IronPython in Action I need to go
through all my Silverlight stuff and update it to beta 2.
Michael Foord
Yep, POST is now supported by WebClient. For cross-domain post, you must have something like <allow-from
http-request-headers="*"><domain uri="*" /></allow-from> in the
clientaccesspolicy.xml file on the server.
Thanks.
Michael
~js
from System.Net import WebClient
from System import Uri
def Downloaded(sender, args):
print args.Result
uri = Uri('http://localhost:2060/index.html')
req = WebClient()
req.DownloadStringCompleted += Downloaded
req.DownloadStringAsync(uri)
Do you still have time to change your book's example? =P
~Jimmy
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:users-
[EMAIL PROTECTED] On Behalf Of Michael Foord
Sent: Wednesday, May 14, 2008 2:58 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Silverlight and Catching HttpWebRequest
Errors
Michael Foord wrote:
Michael Foord wrote:
On May 12, 9:17 am, Jimmy Schementi
<[EMAIL PROTECTED]>
wrote:
The actual type returned by HttpWebRequest.Create() is a
BrowserHttpWebRequest, but it's internal (not sure why). Anyway,
it
has a ProgressFailed event you can hook.
Hello Jimmy,
As far as I can tell it *doesn't* have the 'ProgressFailed' event.
The actual failure I see is:
Exception: [Arg_COMException]
Arguments:
Debugging resource strings are unavailable. Often the key and
arguments provide sufficient information to diagnose the problem.
See
http://go.microsoft.com/fwlink/?linkid=106663&Version=2.0.30226.1&File=
mscorlib.dll&Key=Arg_COMException
Sorry for the noise. This one is actually for the sake of google
(and
all who sail in her).
Exception
at MS.Internal.XcpImports.GetDownloaderBytes(IntPtr element,
IntPtr&
outBytes, Int32& outSize)
at MS.Internal.InternalWebRequest.GetResponseStream()
at System.Net.BrowserHttpWebRequest.Completed(Object sender,
EventArgs e)
at System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32
typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr
unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
Michael
This is using Safari. As I'm developing on the Mac I can't use
debugging, nor can I test in Firefox because of the bug in Chiron.
It looks like some people have similar errors:
http://silverlight.net/forums/p/12500/40967.aspx#40967
and a guy in the comments here:
http://www.cameronalbert.com/post/2008/03/HttpWebRequest-Helper-
for-
Silverlight-2.aspx
All the best,
Michael Foord
http://www.ironpythoninaction.com/
I need to make cross-domain POST, and although the request gets
made
successfully I'm getting a COM Arg Exception everytime (I think
because the server is slow to respond). This is screwing me at the
moment.
FYI - when I execute the following code in Silverlight:
from System.Net import WebRequest
from System import Uri
u = Uri('http://www.v.com')
req = WebRequest.Create(u)
print req.ProgressFailed
I get the following exception:
Traceback (most recent call last):
File "None", line 6, in <undefined>
AttributeError: 'BrowserHttpWebRequest' object has no attribute
'ProgressFailed'
All the best,
Michael Foord
http://www.ironpythoninaction.com/
PS. If you REALLY want synchronous downloading, just hack on
XMLHttpRequest
def download(url):
request = HtmlPage.Window.CreateInstance("XMLHttpRequest")
request.Invoke("open", "GET", url, false) # false means
synchronous
request.Invoke("send", "")
return request.GetProperty("responseText")
:)
~js
________________________________________
From: [EMAIL PROTECTED]
[EMAIL PROTECTED] On Behalf Of Michael Foord
[EMAIL PROTECTED]
Sent: Monday, May 12, 2008 12:58 AM
To: Discussion of IronPython
Subject: [IronPython] Silverlight and Catching HttpWebRequest
Errors
Hello guys,
I have a problem with catching network errors raised by
HttpWebRequest
in Silverlight. (Not necessarily an IronPython specific question
-
but
you guys are so intelligent you are always the first place I
turn...)
HttpWebRequest uses an async model for fetching resources. If
there
is a
problem (triggered usually by a slow response from the server),
then it
can happen *after* I have made the request - but before my
callback
is
invoked. This gives me nowhere to catch the exception, as
effectively it
happens 'inside Silverlight'. I wondered if there was a
solution...
?
def callback(asyncResult):
...
uri = Uri(some_url)
req = HttpWebRequest.Create(uri)
req.BeginGetResponse(AsyncCallback(callback), object())
The error occurs after BeginGetResponse, but before calback. Any
ideas
for catching it?
Michael Foordhttp://www.ironpythoninaction.com/
_______________________________________________
Users mailing list
[EMAIL PROTECTED]://lists.ironpython.com/listinfo.cgi/user
s-ironpython.com
_______________________________________________
Users mailing list
[EMAIL PROTECTED]://lists.ironpython.com/listinfo.cgi/user
s-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/
http://www.trypython.org/
http://www.ironpython.info/
http://www.theotherdelia.co.uk/
http://www.resolverhacks.net/
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com