473,385 Members | 1,912 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Initialize not being called

I'm using the UIP App block and I have overridden the Initialize
method, but my override never gets called. Here's the code:

public override void Initialize(TaskArgumentsHolder args,
ViewSettings settings) {

base.Initialize (args, settings);

Logger.Write("Initialize");

}

Any ideas?

Thanks,
Bryan
Nov 19 '05 #1
8 1981
Hi Bryan,

We have reviewed this issue and are currently researching on it. We will
update you ASAP. Thanks for your patience!

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."

Nov 19 '05 #2
Hi Bryan,

Welcome to MSDN newsgroup!

Based on my understanding, the current situation is you create a custom
class to implement the IView interface and use the custom class in the
project. Please let me know if I have misunderstood anything.

As far as I know, the Initialize method is called after the view manager
instantiates the view. So could you please help me to confirm some
information?

First, the category of the application is Winform or Web form;

Second, please supply the code snippet of calling the Initialize method;

Third, I suggest we set the breakpoint for the override function and debug
the project. Then we can confirm whether the Initialize method executes or
just add log failed.

I look forward to your reply.

Yuan Ren [MSFT]
Microsoft Online Support

Nov 19 '05 #3
On Mon, 19 Sep 2005 06:30:34 GMT, v-****@microsoft.com ("ÈÎÔ¶[΢Èí]")
wrote:

Yuan -
I create a class derived from WebFormView and override the
Initialize method:

public class ViewWelcome : WebFormView {
public override void Initialize(TaskArgumentsHolder
args, ViewSettings settings) {

base.Initialize (args, settings);

Logger.Write("Initialize");

}
..
..
..
}

I never see the "Initialize" message in the log, and if I set a
breakpoint in this method it never gets hit.

I verified that the page does actually load by setting a breakpoint in
the Page_Load method.

Thanks for the help.
Bryan
Hi Bryan,

Welcome to MSDN newsgroup!

Based on my understanding, the current situation is you create a custom
class to implement the IView interface and use the custom class in the
project. Please let me know if I have misunderstood anything.

As far as I know, the Initialize method is called after the view manager
instantiates the view. So could you please help me to confirm some
information?

First, the category of the application is Winform or Web form;

Second, please supply the code snippet of calling the Initialize method;

Third, I suggest we set the breakpoint for the override function and debug
the project. Then we can confirm whether the Initialize method executes or
just add log failed.

I look forward to your reply.

Yuan Ren [MSFT]
Microsoft Online Support

Nov 19 '05 #4
Hi Bryan,

Thanks for your post!

After my researching, the reason of the Initialize method not executing is
that the architecture is different between Winform and Webform. In the
Webform application, switching form is implemented by call redirect method
in "Http.Context.Response". It means if we want to go to the new form, the
server side redirect to the new page directly. Below is the snippet for UIP
source code in "WebFormViewManager.cs file":
public void ActivateView( string previousView, Guid taskId, string
navGraph, string view )
{
RedirectToNextView(previousView, viewSettings);
}
the RedirectToNextView method:
private void RedirectToNextView(string previousView, ViewSettings
viewSettings)
{
try
{
if( previousView == null )
HttpContext.Current.Response.Redirect(
HttpContext.Current.Request.ApplicationPath + "/" + viewSettings.Type, true
);
else
HttpContext.Current.Response.Redirect(
HttpContext.Current.Request.ApplicationPath + "/" + viewSettings.Type ,
false );
}
catch(System.Threading.ThreadAbortException) {}
}
Actually the Initialize method is never called in the Webform application.
And below is the snippet for UIP source code in "WindowsFormViewManager.cs"
file:
public void ActivateView( string previousView, string view, Navigator
navigator, TaskArgumentsHolder args )
{
¡*
if (winFormView != null)
{
winFormView.Activate();
¡*
}
else if(controlView != null)
{
ActivateControl(controlView, previousView);
¡*
}
viewSettings = CreateNewView(view, navigator, taskId, args);
ClosePreviousFormIfNecessary(null, previousView, taskId, viewSettings);
¡*
}
We can find the CreateNewView call the ActivateForm method. And in the
ActivateForm method, the Initialize executes directly.
So the reason for designing is the Webform application use Http pipeline to
communicate with each other but the Winform application can create the new
form directly. We can find the description about the Initialize method in
the documentation as below:
"Called after the view manager instantiates the view, but before calling
Show()."
(*The documentation you can download from below link:
http://www.microsoft.com/downloads/d...C9D-88E1-4490-
8BD6-78092A0F084E&displaylang=en)
It means the method is used in the Winform application because there is no
the show method in the Webform application.
If your want to add the log for the Webform application. I suggest we add
the function into the "WebFormView_Load" method or your custom load method.

I hope the above information helps, if you have any questions or concerns,
please do not hesitate to let me know. I am standing by to help you.

Thanks.

Yuan Ren [MSFT]
Microsoft Online Support

Nov 19 '05 #5
On Tue, 20 Sep 2005 06:20:21 GMT, v-****@microsoft.com ("Yuan
Ren[MSFT]") wrote:

Hi Yuan -

Thanks for the response. I figured it was something like that. My
reason for wanting to override the Initialize method is to be able to
use custom attributes in the <view> section of the config file, which
are passed to Initialize in the ViewSettings argument. (Each page has
some supplementary information and I thought the config file would be
a good place to store it.) Since Initialize is never being called, is
there an easy way to get access to this information?

Thanks again for all the help!

Bryan
Nov 19 '05 #6
Hi Bryan,

Thanks for your posting!

Based on my understanding, you require getting a custom attributed value
while the application is loading. Meaning you want to use a ViewSettings
argument such as ¡°ViewSettings.Type¡±. Please let me know if I have
misunderstood.

If we want to use the value in our custom class, I think reading the
setting from the config file directly is a better way. In the ¡
°WebFromViewManager.cs¡± file, the ¡°ActiveView¡± method is another method
for getting the value of settings, but different from the ¡
°WindowsFormViewManager.cs¡± file. The WebForm Application doesn¡¯t supply
any method like ¡°Initialize¡±, so my suggestion is we read the value of
the setting from the config file by using a XML reader or have the UIP do
it. The reading method can be executed in our custom ¡°WebFormView_Load¡±
method.

I hope the above information helps, if you have any questions or concerns,
please do not hesitate to let me know. I am standing by to help you.

Yuan Ren [MSFT]
Microsoft Online Support

Nov 19 '05 #7
Hi Yuan -
I think you have understood my problem. I have several attributes
which I want to associate with individual views. Since it looks like
there is no easy way to have the UIAP block get these for me in a
WebFormView derived class, I'll just read them from the config file
myself as you suggested.

Thanks,
Bryan
Nov 19 '05 #8
Hi Bryan,

While, I'm glad to help you for the issue. If you have any issues or
concern, welcome to MSDN newsgroup. We'll discuss together.

Regards,

Yuan Ren [MSFT]
Microsoft Online Support

Nov 19 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Mario S. | last post by:
Hi, how can I determine, if the XMLPlatformUtils::Initialize() was already called or not ? There is no static method XMLPlatformUtils::isInitialized(). Perhaps this would be a nice feature in...
1
by: timtos | last post by:
I am using IShellExtInit.Initialize (Thanks to Mattias Sjögren) and it is called when I right-click a folder! Unfortunately it is called 3 times and not only once... For debugging purpose there is...
3
by: Danny Ni | last post by:
Hi, Is there a way to initialize an user control after it's loaded? I know this is a strange question, so allow me to elaborate, I have an user control which allow users to enter customer data and...
0
by: Bryan | last post by:
I'm using the UIP App block and I have overridden the Initialize method, but my override never gets called. Here's the code: public override void Initialize(TaskArgumentsHolder args,...
15
by: thinktwice | last post by:
char a = { 0 } is it ok?
14
by: 2005 | last post by:
If a Constructor can be used to initialize, when is memory is allocated / say the "new" operator etc? Thanks
1
by: Vol | last post by:
Hi, Group, I want to initialize a 2D static array in function 'foo ()', where 'foo' is called by another function a lot of times. I list my implementation below but I think there are better...
6
by: Ramon | last post by:
Is there a way to initialize the variables (or other data) of a header file by using a function (similar to main() function)?? Thankx
9
by: Steven Woody | last post by:
Hi, Supposing a class get a complicated static member foo, and it need to be initialized before any method of the class can be called, where should I put these initialization code? I don't want...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.