-
Notifications
You must be signed in to change notification settings - Fork 32
Conversation
@jkotalik, |
Not a fan, it's not extensible. How about hostingMode="inprocess" or "outofprocess"? |
@Tratcher What kind of extensibility do you envision? Do we expect to have other kinds of hosting modes in the future? We had a talk with @shirhatti about ideally making this the last web.config schema change for ANCM, and possibly introduce other ways to configure it (e.g. |
Extensibilty such as hostingMode="thenextgreatthing", which would not require a schema change? |
with in-proc, do we still plan to support other configuration elements, such as environment variables? |
We should attempt to support as many as possible. The transition between the two modes should be as seamless as possible. |
Agreed with @Tratcher. Are there any we can't support? |
Yes, we should try to support everything. |
I was thinking about this a bit and I like the string thing. You can imagine the string representing the transport type:
|
Also, "https", or "http://ip:port" for hard coding the forward ip and port? Some people really don't like our random port mechanics. |
Maybe it should be named |
hmm, no, transport makes more sense as a separate thing from process model. |
@Tratcher I don't care if we call it transport or not I think the same knob should be used if we choose to change the communication mechanism between ANCM and the managed process. |
Disagree. How you launch the process is rather independent of how you connect to it. The inproc case is the exception. E.g. Ways to launch the process: inproc, outofproc, none (managed externally), etc. |
I prefer hostingModel or processModel. Transport is so misleading for in-proc or out-proc. |
So we'll do "inprocess" "http" that doesn't make any sense. What's the scenario where having separate options makes sense? Give me something real... Once again call it mode, I just don't think there's just inproc and outproc. It's about how the module communicates with dotnet. That's what this mode represents |
Not every combo will make sense, but consider the following pairs: |
@Tratcher you're making things up now. What is inproc named pipe and inproc direct? |
To summarize my position, this new communication "mode" is how ANCM talks to dotnet. Reasons:
The purity argument that they are different things requires that we explode or ignore when you have an invalid combination (like in process + http). |
Based on the feedback, I'm going to change the name to hostingModel and the type to a string. @Tratcher we may want to expose transport eventually, but I think that could be added to some eventual |
src/AspNetCore/aspnetcore_schema.xml
Outdated
@@ -25,6 +25,7 @@ | |||
<attribute name="processesPerApplication" type="uint" defaultValue="1" validationType="integerRange" validationParameter="1,100"/> | |||
<attribute name="forwardWindowsAuthToken" type="bool" defaultValue="true" /> | |||
<attribute name="disableStartUpErrorPage" type="bool" defaultValue="false" /> | |||
<attribute name="hostingModel" type="string" defaultValue="outofprocess" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you not have a default? e.g. default to empty? Let's handle the default in code.
I understand the motivation that you want to make the new string attribute as a generic solution and thus no default value given, though I don't like it as it looks we don't know what possible values could be. |
@jkotalik you can merge this schema change now now |
default should be http |
Name is up for discussion. @shirhatti I decided a bool is better for now.