469,282 Members | 1,944 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,282 developers. It's quick & easy.

How to get a WS to create a cookie???

I need to design a WS that will after authenicating the user, create a cookie
on the users PC that made the request. All the code I keep finding is how to
get a WS to read a cookie, I need it to create one. The below code doesnt add
the cookie to my cache. However if I place this in an non asmx page its fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
....
....

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
--
JP
..NET Software Developer
Feb 26 '07 #1
7 1803
Hi JP,
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
What do you mean it doesn't work? Do you get an error, or you're just not
seeing the Cookie on the successive request for the next the Web Service
method? If the latter, you ned to set up your WS Proxy on the client to
handle cookies. We enventually settled on using SOAP header, rather than a
cookie, so I don't have live code to demonstrate this, but if I recall
correctly, you need to code something like

m_WSProxyClass.CookieContainer = new System.Net.CookieContainer();

So that your proxy will now have access to cookies for the purpose of
receiving and sending.

If this doesn't do it for you, I will see if I can dig up some old code from
when we were using cookies. We did manage to get it to work and so should
you.

Standard caveat applies: If your Web Services are going to rely on coookies,
you will be limited to HTTP clients. Other clients which don't support the
cookie mechanism won't be able to use your services.

Hope this helps,

Joseph Geretz

"JP" <JP@discussions.microsoft.comwrote in message
news:77**********************************@microsof t.com...
>I need to design a WS that will after authenicating the user, create a
cookie
on the users PC that made the request. All the code I keep finding is how
to
get a WS to read a cookie, I need it to create one. The below code doesnt
add
the cookie to my cache. However if I place this in an non asmx page its
fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
...
...

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
--
JP
.NET Software Developer

Feb 26 '07 #2
my apoligies for not clarifying. The code does not error out. I just dont get
the cookie in my cache.
--
JP
..NET Software Developer
"Joseph Geretz" wrote:
Hi JP,
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work

What do you mean it doesn't work? Do you get an error, or you're just not
seeing the Cookie on the successive request for the next the Web Service
method? If the latter, you ned to set up your WS Proxy on the client to
handle cookies. We enventually settled on using SOAP header, rather than a
cookie, so I don't have live code to demonstrate this, but if I recall
correctly, you need to code something like

m_WSProxyClass.CookieContainer = new System.Net.CookieContainer();

So that your proxy will now have access to cookies for the purpose of
receiving and sending.

If this doesn't do it for you, I will see if I can dig up some old code from
when we were using cookies. We did manage to get it to work and so should
you.

Standard caveat applies: If your Web Services are going to rely on coookies,
you will be limited to HTTP clients. Other clients which don't support the
cookie mechanism won't be able to use your services.

Hope this helps,

Joseph Geretz

"JP" <JP@discussions.microsoft.comwrote in message
news:77**********************************@microsof t.com...
I need to design a WS that will after authenicating the user, create a
cookie
on the users PC that made the request. All the code I keep finding is how
to
get a WS to read a cookie, I need it to create one. The below code doesnt
add
the cookie to my cache. However if I place this in an non asmx page its
fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
...
...

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
--
JP
.NET Software Developer


Feb 26 '07 #3
Users (progrmmers) will use this service to create a GUID. This GUID along
with other related information will be stored in a cookie on local machine so
that our application can authenicate admin requests using the cookie
information. This is why the cookie is only valid for 30 mins per request
--
JP
..NET Software Developer
"Joseph Geretz" wrote:
Hi JP,
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work

What do you mean it doesn't work? Do you get an error, or you're just not
seeing the Cookie on the successive request for the next the Web Service
method? If the latter, you ned to set up your WS Proxy on the client to
handle cookies. We enventually settled on using SOAP header, rather than a
cookie, so I don't have live code to demonstrate this, but if I recall
correctly, you need to code something like

m_WSProxyClass.CookieContainer = new System.Net.CookieContainer();

So that your proxy will now have access to cookies for the purpose of
receiving and sending.

If this doesn't do it for you, I will see if I can dig up some old code from
when we were using cookies. We did manage to get it to work and so should
you.

Standard caveat applies: If your Web Services are going to rely on coookies,
you will be limited to HTTP clients. Other clients which don't support the
cookie mechanism won't be able to use your services.

Hope this helps,

Joseph Geretz

"JP" <JP@discussions.microsoft.comwrote in message
news:77**********************************@microsof t.com...
I need to design a WS that will after authenicating the user, create a
cookie
on the users PC that made the request. All the code I keep finding is how
to
get a WS to read a cookie, I need it to create one. The below code doesnt
add
the cookie to my cache. However if I place this in an non asmx page its
fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
...
...

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
--
JP
.NET Software Developer


Feb 26 '07 #4
Hi JP,

Have a look at the Cache object. The Cache object is a server side store
with much of the same functionality as cookies have. So you can place data
in the Cache and it will expire after a certain period of time, just as a
cookie does. Instead of using a cookie to shuttle data back and forth, the
data remains on the server in the cache, keyed by GUID for example, and you
can use a SOAP header to shuttle the GUID back and forth between client and
server on each request.

Your earlier comment about not seeing the cookie in the cache is consistent
with the fact that you haven't created a cookiecontainer on the client to
maintain the cookie (see my earlier response).

Hoep this helps,

- Joseph Geretz -

"JP" <JP@discussions.microsoft.comwrote in message
news:7C**********************************@microsof t.com...
Users (progrmmers) will use this service to create a GUID. This GUID along
with other related information will be stored in a cookie on local machine
so
that our application can authenicate admin requests using the cookie
information. This is why the cookie is only valid for 30 mins per request
--
JP
.NET Software Developer
"Joseph Geretz" wrote:
>Hi JP,
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work

What do you mean it doesn't work? Do you get an error, or you're just not
seeing the Cookie on the successive request for the next the Web Service
method? If the latter, you ned to set up your WS Proxy on the client to
handle cookies. We enventually settled on using SOAP header, rather than
a
cookie, so I don't have live code to demonstrate this, but if I recall
correctly, you need to code something like

m_WSProxyClass.CookieContainer = new System.Net.CookieContainer();

So that your proxy will now have access to cookies for the purpose of
receiving and sending.

If this doesn't do it for you, I will see if I can dig up some old code
from
when we were using cookies. We did manage to get it to work and so should
you.

Standard caveat applies: If your Web Services are going to rely on
coookies,
you will be limited to HTTP clients. Other clients which don't support
the
cookie mechanism won't be able to use your services.

Hope this helps,

Joseph Geretz

"JP" <JP@discussions.microsoft.comwrote in message
news:77**********************************@microso ft.com...
>I need to design a WS that will after authenicating the user, create a
cookie
on the users PC that made the request. All the code I keep finding is
how
to
get a WS to read a cookie, I need it to create one. The below code
doesnt
add
the cookie to my cache. However if I place this in an non asmx page its
fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
...
...

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
--
JP
.NET Software Developer



Feb 26 '07 #5
"Joseph Geretz" <jg*****@nospam.comwrote in message
news:eQ*************@TK2MSFTNGP06.phx.gbl...
Hi JP,
....
Standard caveat applies: If your Web Services are going to rely on
coookies, you will be limited to HTTP clients. Other clients which don't
support the cookie mechanism won't be able to use your services.
In fact, not all HTTP clients will support cookies.

Depending on what you mean to use the cookie for, you might do better with a
SOAP header.

John
Feb 27 '07 #6
Cookies are created by the client (browser). As such, it wouldn't make any
sense for a web service to attempt to create a cookie because it is one step
removed from the correct source for cookies, the web server.

Client ---web page --a web service

See how the service is not the right place for this. The code to create the
cookie should be in the page/code that calls the cookie.
"JP" <JP@discussions.microsoft.comwrote in message
news:77**********************************@microsof t.com...
>I need to design a WS that will after authenicating the user, create a
cookie
on the users PC that made the request. All the code I keep finding is how
to
get a WS to read a cookie, I need it to create one. The below code doesnt
add
the cookie to my cache. However if I place this in an non asmx page its
fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
...
...

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie) ; //doesnt work
--
JP
.NET Software Developer

Feb 27 '07 #7
Correction:

The code to create the
cookie should be in the page/code that calls the *service*.
"Scott M." <s-***@nospam.nospamwrote in message
news:Or**************@TK2MSFTNGP05.phx.gbl...
Cookies are created by the client (browser). As such, it wouldn't make
any sense for a web service to attempt to create a cookie because it is
one step removed from the correct source for cookies, the web server.

Client ---web page --a web service

See how the service is not the right place for this. The code to create
the cookie should be in the page/code that calls the cookie.
"JP" <JP@discussions.microsoft.comwrote in message
news:77**********************************@microsof t.com...
>>I need to design a WS that will after authenicating the user, create a
cookie
on the users PC that made the request. All the code I keep finding is how
to
get a WS to read a cookie, I need it to create one. The below code doesnt
add
the cookie to my cache. However if I place this in an non asmx page its
fine

Any help you offer is apperiated

[WebMethod(EnableSession=true)]
public string CreateToken(string User, string App, string County)
{
//Do some stuff
...
...

HttpCookie myCookie = new HttpCookie("NameMaster");
myCookie.Domain = "mydomain.com";
myCookie["ID"] = Result.ToString();
myCookie["User"] = User;
myCookie["App"] = App;
myCookie["County"] = County;
myCookie.Expires = DateTime.Now.AddMinutes(30);
HttpContext.Current.Response.Cookies.Add(myCookie ); //doesnt work
--
JP
.NET Software Developer


Feb 28 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Francois | last post: by
1 post views Thread by raghavendra | last post: by
3 posts views Thread by Aah | last post: by
reply views Thread by Jason Shohet | last post: by
6 posts views Thread by Alessandro Fachin | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.