Exception thrown when using MessageManager
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > Microsoft Commerce Server > Commerce Server General > Exception thrown when using MessageManager




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    Exception thrown when using MessageManager  
ams8764@netscape.net


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-30-05 10:58 PM

Hi,

I am trying to use Commerce Server Message Manager as a storage for all
strings that should be translated for our ASP.NET/C#/CommerceServer
site (not only for pipeline customization).

I've built 2 satellite assemblies (one for en-US and the other for
fr-FR) following the documentation example, but when I try to retrieve
a translation, I'm getting the following error :

Microsoft.CommerceServer.Runtime.CommerceException: The message
"BadPassword" for the culture "en-US" could not be found in the
satellite assemblies

My code is
Microsoft.CommerceServer.Internal.Common.CommerceMessages.GetCommerceMessage
("BadPassword");

I've added the necessary entry in web.config :

<messageManager>
<cultures default="en-US" baseName="rc" assembly="myapp">
<culture id="en-US" />
<culture id="fr-FR" />
</cultures>
<resources>
<resource id="BadPassword" />
</resources>
</messageManager>


baseName and assembly are correctly set because when I change them I
get messages like "cannot load xxx".

I do have a bin/en-US/myapp.resources.dll

i've tried adding a non existing resource to web.config, and I also get
another error message, so i'm confident the resource is actually in the
satellite assembly.

My original XML file contained

<MessageManager DefaultLanguage="English">


<Language Name="English" Locale="1033"/>
<Language Name="French" Locale="1036"/>

<Entry Name="BadPassword" Type ="Auth">
<Value Language="English">Invalid password</Value>
<Value Language="French">Mot de passe invalide</Value>
</Entry>

</MessageManager>

(somehow I never found the use for my "Auth" type).

I then run

rcxml2resx rc.xml rc.resx

then

resgen rc.en-US.resx

then

al /embed:rc.en-US.resources /culture:en-US /out:myapp.resources.dll

then deployed the myapp.resources.dll to the bin subdir en-US

What could be wrong ?

Thanks in advance ...

By the way, does it make sens to store site error messages in the
MessageManeger of CS ?

We are using CS 2002 SP3 with Windows 2000 Advanced Server.

Sorry for the long message...

-- AMS






[ Post a follow-up to this message ]



    RE: Exception thrown when using MessageManager  
Nihit Kaul [MSFT]


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
09-14-05 10:52 PM

Hi AMS,

I don't think the MessageManager is meant to be used much outside the
pipelines (especially on ASP.Net sites since there are much better resource
management options natively with .Net) and that is why there is no easy way
to handle the strings in the MessageManager through managed code. I would
not suggest that you use this for storing your site resources, especially
on an ASP.Net site. For ASP sites you can look at any of the ASP sitelets
global.asa for an example of how to load and populate the MessageManager
object from the rc.xml file directly.

If you do want to use the MessageManager, I believe the following hack
should work as well but it is defintely not the recommended solution:

PipelineInfo basketPipeInfo = new PipelineInfo("Basket");
MessageManagerClass msgMgr =
(MessageManagerClass)basketPipeInfo["MessageManager"];
String badCCMessage = msgMgr.GetMessage("pur_badcc", "en-US");

Heop this helps.

Thanks,

Nihit Kaul[MSFT]
Commerce Server
http://blogs.msdn.com/nihitk

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------
From: ams8764@netscape.net
Newsgroups: microsoft.public.commerceserver.general
Subject: Exception thrown when using MessageManager
Date: 30 Aug 2005 07:57:13 -0700
Organization: http://groups.google.com
Lines: 83
Message-ID: <1125413833.356314.126030@z14g2000cwz.googlegroups.com>
NNTP-Posting-Host: 62.23.237.17
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Trace: posting.google.com 1125413842 31987 127.0.0.1 (30 Aug 2005
14:57:22 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 30 Aug 2005 14:57:22 +0000 (UTC)
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;
.NET CLR 1.1.4322),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: z14g2000cwz.googlegroups.com; posting-host=62.23.237.17;
posting- account=PZ8s3Q0AAAAmg38VabALoICeANiC6nY1

Path:
TK2MSFTNGXA01.phx.gbl!TK2MSFTFEED02.phx.gbl!tornado.fastwebnet.it!tiscali!ne
wsfeed1.ip.tiscali.net!news.glorb.com!postnews.google.com!z14g2000cwz.google
groups.com!not-for-mail
Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.commerceserver.general:3322
X-Tomcat-NG: microsoft.public.commerceserver.general

Hi,

I am trying to use Commerce Server Message Manager as a storage for all
strings that should be translated for our ASP.NET/C#/CommerceServer
site (not only for pipeline customization).

I've built 2 satellite assemblies (one for en-US and the other for
fr-FR) following the documentation example, but when I try to retrieve
a translation, I'm getting the following error :

Microsoft.CommerceServer.Runtime.CommerceException: The message
"BadPassword" for the culture "en-US" could not be found in the
satellite assemblies

My code is
Microsoft.CommerceServer.Internal.Common.CommerceMessages.GetCommerceMessage
("BadPassword");

I've added the necessary entry in web.config :

<messageManager>
<cultures default="en-US" baseName="rc" assembly="myapp">
<culture id="en-US" />
<culture id="fr-FR" />
</cultures>
<resources>
<resource id="BadPassword" />
</resources>
</messageManager>


baseName and assembly are correctly set because when I change them I
get messages like "cannot load xxx".

I do have a bin/en-US/myapp.resources.dll

i've tried adding a non existing resource to web.config, and I also get
another error message, so i'm confident the resource is actually in the
satellite assembly.

My original XML file contained

<MessageManager DefaultLanguage="English">


<Language Name="English" Locale="1033"/>
<Language Name="French" Locale="1036"/>

<Entry Name="BadPassword" Type ="Auth">
<Value Language="English">Invalid password</Value>
<Value Language="French">Mot de passe invalide</Value>
</Entry>

</MessageManager>

(somehow I never found the use for my "Auth" type).

I then run

rcxml2resx rc.xml rc.resx

then

resgen rc.en-US.resx

then

al /embed:rc.en-US.resources /culture:en-US /out:myapp.resources.dll

then deployed the myapp.resources.dll to the bin subdir en-US

What could be wrong ?

Thanks in advance ...

By the way, does it make sens to store site error messages in the
MessageManeger of CS ?

We are using CS 2002 SP3 with Windows 2000 Advanced Server.

Sorry for the long message...

-- AMS







[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 04:39 PM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register