Base solution for your next web application

Activities of "pkouame"

Hi -

While going through the aspnetzero "developing an application step by step" phonebook example, it's become quickly obvious that a deeper knowledge of the boilerplate and module zero is a plus. I would like to setup an environment where one can freely browse the source of all relevant modules from within Studio. How are you guys setup? Do you recommend importing the entire boiler and zero projects within our local template solution? There are pros and cons for a variety of different approaches here, so I'm just wondering how you guys are setup internally to develop and release templates and frameworks.

Also, what is the preferred way to present issues and file bugs. In github issues and/or here on the forum? Especially for paid up commercial developers like us.

Example

1 - I found that the phonebook example references a dto helper "ListResultOuput" that has been deprecated (I think?) for ListResultDto. Where best to file and issue like that?

2- I don't get the pretty error 500 exception page like the example. Rather, mine is a normal trace. Code like that is obviously buried in boilerplate exception handling. Where best to file an issue like that?

Thanks in advance.

@JoshYates, thanks. That's pretty much how I proceed...searching github and the forums. Guess I'll just file some issues on github so responsible parties can update documentation when they have time...

@ismcagdas

  1. On exception handling. I downloaded an aspnetzero core mvc template, so web.config should be irrelevant right?

  2. Downloading "templated" projects as your documentation suggests give me a static source code snapshot with a difficult support path since, to the say the least, the original namespaces (MyCompany MyProject etc...) are different. What happens when v2.2 of aspnetzero template is released? This is an important LTS issue for potential client solutions I craft. Hence my desire to setup the "optimal" development environment going forward. Should I clone, pull down changes or new releases as necessary, change namespaces and merge?

Thanks P.

Hi -

1 - working through the aspnetzero mpa core phonebook sample, I don't get the formatted error message in the guide. Rather I get this:

An unhandled exception occurred while processing the request.

AbpAuthorizationException: Required permissions are not granted. At least one of these permissions must be granted: Pages.Tenant.PhoneBook
MoveNext

Stack Query Cookies Headers
AbpAuthorizationException: Required permissions are not granted. At least one of these permissions must be granted: Pages.Tenant.PhoneBook
MoveNext
ThrowForNonSuccess

GetResult

...
...

MoveNext

Show raw exception details
Abp.Authorization.AbpAuthorizationException: Required permissions are not granted. At least one of these permissions must be granted: Pages.Tenant.PhoneBook
   at Abp.Authorization.PermissionCheckerExtensions.<AuthorizeAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Abp.Authorization.AuthorizationHelper.<AuthorizeAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

How do I configure my project to handle this exception correctly?

2 - How can I customize these error messages and pages?

Thanks in advance, Patrice

Hi

After deploying the PhoneBook sample to Azure, I get many internal 500 errors and some functions such as modals for Create Person no longer work. The app doesn't crash and no exceptions are thrown. In fact one can still navigate around. I just got a little suspicious when tapping the button to create a new record did nothing. So I dove into the logs and discovered these repeating errors. In fact I think the whole web api side is down given the references to signalR. Note that it all runs fine locally using IIS Express, so I'm pretty sure this has something to do with the deployment to Azure.

Here's a sample of the Chrome developer console :

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://harmonyweb20161030022755.azurewebsites.net/Error?statusCode=404".
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://harmonyweb20161030022755.azurewebsites.net/Error?statusCode=404".
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
GET http://harmonyweb20161030022755.azurewebsites.net/signalr/negotiate?clientP…22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478055150308 500 (Internal Server Error)
GET http://harmonyweb20161030022755.azurewebsites.net/signalr/negotiate?clientP…22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478055150309 500 (Internal Server Error)
GET http://harmonyweb20161030022755.azurewebsites.net/signalr/negotiate?clientP…22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478055150310 500 (Internal Server Error)
GET http://harmonyweb20161030022755.azurewebsites.net/signalr/negotiate?clientP…22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478055150311 500 (Internal Server Error)
GET http://harmonyweb20161030022755.azurewebsites.net/signalr/negotiate?clientP…22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478055150312 500 (Internal Server Error)
GET http://harmonyweb20161030022755.azurewebsites.net/signalr/negotiate?clientP…22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478055150313 500 (Internal Server Error)
...
... repeated
...

The following is an excerpt of the Azure Application Server log:

2016-11-02T02:45:37  Welcome, you are now connected to log-streaming service.
2016-11-02 02:45:03 HARMONYWEB20161030022755 GET /signalr/negotiate clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478054103265&X-ARR-LOG-ID=c0142ec0-ef71-4ade-a526-1bf3925a6b8c 80 - 72.83.26.182 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/54.0.2840.71+Safari/537.36 .AspNetCore.Antiforgery.w5W7x28NAIs=CfDJ8Be1BwYjNQtCiYFFbuqOLprlhQrNLWoUIMfh78fGnSa4ZLDjYDwd-JiWkuZ8gdbJLXR5Iek8aZ_bW6J31485C3V2qvp9kmMbPY_cO7RZj2yutx0e4pfPsY-ylvbc_5fp7u9no_C-8fcWTh1pzxDM8cA;+ARRAffinity=24b7b35440fc494e78822dd855542086bd785855279d05c8ccecfde1728d7fe1;+.AspNetCore.HarmonyAuthSchema=CfDJ8Be1BwYjNQtCiYFFbuqOLpruHjI2H7rY6_luc0Ugi-lrQQGpKCRsmJJM9-UdhgDxB9AM0ooOgj1euPS3MPmPFHW7BKCxfbOOBXNBqvmOJ-pOHw8q3CajXRekQtkcL7qkoMaaF0tQLiNQxSGq3BRQLfxau9M49kxadLU1bWQ8Vo7su5Zpkj5JzMPYbLnVdjEGaLimxTued6CGqqSuXaeK55w8lmRlV6MG2s9tQCkIUWBuEkJR19vgfZ9cQzH0V-ITGF570MGbjnllmWgceQ8nfgMiPF1fIBirRGWpJjb3PakcpKXphWcxnmgUiOi9Rg74fjGixGoMsRrYeN53FzyeLc7ZVDuUM7Z2Ghc-gEzFUfOwz1BjzcLIt8kkoeofl6jrC5ff8hKTJKlf1dS5_09h-JJNUDN6vgf15lLm-RLZ5PFjHytzVcxyY_uNyengsjx-BNPqCe2OdSEb7jareXrYNYX9kd9LTtE3RtZ9REKHmI_Fxxu4GBzH2i_FzF8FDrc9EKRRAwVl4xWnTO_h7JvmBf9CfMRLa7KrxDNml8U1B3uiCpOZfp-9YE5dKzqAgNYw31V5YLDy07_GiO7DRoErpFg309cKVKuikFpZAUaHohYzTQ_65epm_mXGB0zEuvDyNzVidKD6IJT7Yy1qkBo0xWerjTpTH3ZgrFLDlIn9xbFYYrhEJR2Bgh2UbB2yB4eCh2UO1Kk7knCjYu5NlF2PwFHdFnCUx-xOOhplyZO7tiLEVdnOINS8cHoSHzP1JNeFZUV5-_zlf9VJ6DT3LU4ZIhdLDv8heFZKaqoGYtNq92xNCe_FUEIF9QzNkxaN9HnWDREe32N55vxou8_-7MF6mJLpGSsJDjqN0X9x5KVKg-qW;+TwoFactorRememberBrowser=CfDJ8Be1BwYjNQtCiYFFbuqOLprolwoROVRYBTjpZQIBk57i5np9tOYcc4DBCfYvxuTjNYQwpOMMuP5tmFZ9QciWF7uGM4pReQOYasiDG2b2kr5tgguITvcbDup4Q6-yvBNpqSsWL0HzMd90sK6qauwmLKrQOGPeGYqx1qso4rw4cbdAgkHxTefkCNxyBB5OGpBxc874tO0hZpk1Xw6YTyu22VPp1bCwolmIjAOxQXIlsFxCb0sOcfwuhZDmSkfVKSq04mQtwalBrkcvcWTg19mvggWI2TaMMsGpq-N5NmvAp6KJbFPT0IzB3bF6V4j6zQwITYw8gLFu4ysm-EFYVSY3-mMwURReL9Um2g7Y3hlL076sj8Jqxzw16mbSdI56aX3vVa4ZWR5ioKkUMp4HhlG2RjAsmfRyBFJyFfkef1rE4Kd4KUGqiK6pfXnLXOu1sQObR6ORyGVaHBzQxeShE7RWxrBp54g5MPsG2KqHDAP3qfwLABc_1W0eEw8gaZpge0Rtv999Kc_FLH9TJX9LWEvn_GQ;+XSRF-TOKEN=CfDJ8Be1BwYjNQtCiYFFbuqOLppjRrgfHPhQArzfX7DTS7V7czQ6yjD-eSumBaA3sRkpWLDr_2fpKdXTwiQa0zI48hWMPFxBcpc5A73NOZ5npHuwWQJbrlUOQ_j8Mh6tAGouh-7OgZ2FeWOTfp7sisUcM1L61z8nizNMoG-qH8ENPNXvt16goae2FCfgptyjshB60g http://harmonyweb20161030022755.azurewebsites.net/App/PhoneBook harmonyweb20161030022755.azurewebsites.net 500 0 0 3137 3289 62
2016-11-02 02:45:08 HARMONYWEB20161030022755 GET /signalr/negotiate clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&_=1478054103266&X-ARR-LOG-ID=e4dffd6d-3cba-4948-8c34-389b79279e57 80 - 72.83.26.182 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/54.0.2840.71+Safari/537.36 .AspNetCore.Antiforgery.w5W7x28NAIs=CfDJ8Be1BwYjNQtCiYFFbuqOLprlhQrNLWoUIMfh78fGnSa4ZLDjYDwd-JiWkuZ8gdbJLXR5Iek8aZ_bW6J31485C3V2qvp9kmMbPY_cO7RZj2yutx0e4pfPsY-ylvbc_5fp7u9no_C-8fcWTh1pzxDM8cA;+ARRAffinity=24b7b35440fc494e78822dd855542086bd785855279d05c8ccecfde1728d7fe1;+.AspNetCore.HarmonyAuthSchema=CfDJ8Be1BwYjNQtCiYFFbuqOLpruHjI2H7rY6_luc0Ugi-lrQQGpKCRsmJJM9-UdhgDxB9AM0ooOgj1euPS3MPmPFHW7BKCxfbOOBXNBqvmOJ-pOHw8q3CajXRekQtkcL7qkoMaaF0tQLiNQxSGq3BRQLfxau9M49kxadLU1bWQ8Vo7su5Zpkj5JzMPYbLnVdjEGaLimxTued6CGqqSuXaeK55w8lmRlV6MG2s9tQCkIUWBuEkJR19vgfZ9cQzH0V-ITGF570MGbjnllmWgceQ8nfgMiPF1fIBirRGWpJjb3PakcpKXphWcxnmgUiOi9Rg74fjGixGoMsRrYeN53FzyeLc7ZVDuUM7Z2Ghc-gEzFUfOwz1BjzcLIt8kkoeofl6jrC5ff8hKTJKlf1dS5_09h-JJNUDN6vgf15lLm-RLZ5PFjHytzVcxyY_uNyengsjx-BNPqCe2OdSEb7jareXrYNYX9kd9LTtE3RtZ9REKHmI_Fxxu4GBzH2i_FzF8FDrc9EKRRAwVl4xWnTO_h7JvmBf9CfMRLa7KrxDNml8U1B3uiCpOZfp-9YE5dKzqAgNYw31V5YLDy07_GiO7DRoErpFg309cKVKuikFpZAUaHohYzTQ_65epm_mXGB0zEuvDyNzVidKD6IJT7Yy1qkBo0xWerjTpTH3ZgrFLDlIn9xbFYYrhEJR2Bgh2UbB2yB4eCh2UO1Kk7knCjYu5NlF2PwFHdFnCUx-xOOhplyZO7tiLEVdnOINS8cHoSHzP1JNeFZUV5-_zlf9VJ6DT3LU4ZIhdLDv8heFZKaqoGYtNq92xNCe_FUEIF9QzNkxaN9HnWDREe32N55vxou8_-7MF6mJLpGSsJDjqN0X9x5KVKg-qW;+TwoFactorRememberBrowser=CfDJ8Be1BwYjNQtCiYFFbuqOLprolwoROVRYBTjpZQIBk57i5np9tOYcc4DBCfYvxuTjNYQwpOMMuP5tmFZ9QciWF7uGM4pReQOYasiDG2b2kr5tgguITvcbDup4Q6-yvBNpqSsWL0HzMd90sK6qauwmLKrQOGPeGYqx1qso4rw4cbdAgkHxTefkCNxyBB5OGpBxc874tO0hZpk1Xw6YTyu22VPp1bCwolmIjAOxQXIlsFxCb0sOcfwuhZDmSkfVKSq04mQtwalBrkcvcWTg19mvggWI2TaMMsGpq-N5NmvAp6KJbFPT0IzB3bF6V4j6zQwITYw8gLFu4ysm-EFYVSY3-mMwURReL9Um2g7Y3hlL076sj8Jqxzw16mbSdI56aX3vVa4ZWR5ioKkUMp4HhlG2RjAsmfRyBFJyFfkef1rE4Kd4KUGqiK6pfXnLXOu1sQObR6ORyGVaHBzQxeShE7RWxrBp54g5MPsG2KqHDAP3qfwLABc_1W0eEw8gaZpge0Rtv999Kc_FLH9TJX9LWEvn_GQ;+XSRF-TOKEN=CfDJ8Be1BwYjNQtCiYFFbuqOLppjRrgfHPhQArzfX7DTS7V7czQ6yjD-eSumBaA3sRkpWLDr_2fpKdXTwiQa0zI48hWMPFxBcpc5A73NOZ5npHuwWQJbrlUOQ_j8Mh6tAGouh-7OgZ2FeWOTfp7sisUcM1L61z8nizNMoG-qH8ENPNXvt16goae2FCfgptyjshB60g http://harmonyweb20161030022755.azurewebsites.net/App/PhoneBook harmonyweb20161030022755.azurewebsites.net 500 0 0 3143 3289 46

...
... repeated
...

There are obviously differences between the local stack (iisexpress sqlserver etc...) and the Azure stack, but the aspnetzero features state compatibility with Azure and AWS.

I'm still delving into the logs, but am posting this now just in case someone has encountered similar problems before.

Can anyone help?

EDIT: Just attached (see below) the Azure webserver log, which points to signalr\negotiate in aspnetcoremodule...strange that this page isn't displayed.

Thanks, P.

(why can't I attach html and txt files on this forum?)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>IIS Detailed Error - 500.0 - Internal Server Error</title> 
<style type="text/css"> 
 
</style> 
 
</head> 
<body> 
<div id="content"> 
<div class="content-container"> 
<h3>HTTP Error 500.0 - Internal Server Error</h3> 
<h4>The page cannot be displayed because an internal server error has occurred.</h4> 
</div> 
<div class="content-container"> 
<fieldset><h4>Most likely causes:</h4> 
<ul> 	<li>IIS received the request; however, an internal error occurred during the processing of the request. The root cause of this error depends on which module handles the request and what was happening in the worker process when this error occurred.</li> 	<li>IIS was not able to access the web.config file for the Web site or application. This can occur if the NTFS permissions are set incorrectly.</li> 	<li>IIS was not able to process configuration for the Web site or application.</li> 	<li>The authenticated user does not have permission to use this DLL.</li> 	<li>The request is mapped to a managed handler but the .NET Extensibility Feature is not installed.</li> </ul> 
</fieldset> 
</div> 
<div class="content-container"> 
<fieldset><h4>Things you can try:</h4> 
<ul> 	<li>Ensure that the NTFS permissions for the web.config file are correct and allow access to the Web server's machine account.</li> 	<li>Check the event logs to see if any additional information was logged.</li> 	<li>Verify the permissions for the DLL.</li> 	<li>Install the .NET Extensibility feature if the request is mapped to a managed handler.</li> 	<li>Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click <a href="http://go.microsoft.com/fwlink/?LinkID=66439">here</a>. </li> </ul> 
</fieldset> 
</div> 
 
<div class="content-container"> 
<fieldset><h4>Detailed Error Information:</h4> 
<div id="details-left"> 
<table border="0" cellpadding="0" cellspacing="0"> 
<tr class="alt"><th>Module</th><td>&nbsp;&nbsp;&nbsp;AspNetCoreModule</td></tr> 
<tr><th>Notification</th><td>&nbsp;&nbsp;&nbsp;ExecuteRequestHandler</td></tr> 
<tr class="alt"><th>Handler</th><td>&nbsp;&nbsp;&nbsp;aspNetCore</td></tr> 
<tr><th>Error Code</th><td>&nbsp;&nbsp;&nbsp;0x00000000</td></tr> 
 
</table> 
</div> 
<div id="details-right"> 
<table border="0" cellpadding="0" cellspacing="0"> 
<tr class="alt"><th>Requested URL</th><td>&nbsp;&nbsp;&nbsp;http://HarmonyWeb20161030022755:80/signalr/negotiate?clientProtocol=1.5&amp;connectionData=%5B%7B%22name%22%3A%22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&amp;_=1478054103313</td></tr> 
<tr><th>Physical Path</th><td>&nbsp;&nbsp;&nbsp;D:\home\site\wwwroot\signalr\negotiate</td></tr> 
<tr class="alt"><th>Logon Method</th><td>&nbsp;&nbsp;&nbsp;Anonymous</td></tr> 
<tr><th>Logon User</th><td>&nbsp;&nbsp;&nbsp;Anonymous</td></tr> 
 
</table> 
<div class="clear"></div> 
</div> 
</fieldset> 
</div> 
 
<div class="content-container"> 
<fieldset><h4>More Information:</h4> 
This error means that there was a problem while processing the request. The request was received by the Web server, but during processing a fatal error occurred, causing the 500 error. 
<p><a href="http://go.microsoft.com/fwlink/?LinkID=62293&amp;IIS70Error=500,0,0x00000000,9200">View more information &raquo;</a></p> 
<p>Microsoft Knowledge Base Articles:</p> 
  
 
</fieldset> 
</div> 
</div> 
</body> 
</html> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>IIS Detailed Error - 500.0 - Internal Server Error</title> 
<style type="text/css"> 
 
</style> 
 
</head> 
<body> 
<div id="content"> 
<div class="content-container"> 
<h3>HTTP Error 500.0 - Internal Server Error</h3> 
<h4>The page cannot be displayed because an internal server error has occurred.</h4> 
</div> 
<div class="content-container"> 
<fieldset><h4>Most likely causes:</h4> 
<ul> 	<li>IIS received the request; however, an internal error occurred during the processing of the request. The root cause of this error depends on which module handles the request and what was happening in the worker process when this error occurred.</li> 	<li>IIS was not able to access the web.config file for the Web site or application. This can occur if the NTFS permissions are set incorrectly.</li> 	<li>IIS was not able to process configuration for the Web site or application.</li> 	<li>The authenticated user does not have permission to use this DLL.</li> 	<li>The request is mapped to a managed handler but the .NET Extensibility Feature is not installed.</li> </ul> 
</fieldset> 
</div> 
<div class="content-container"> 
<fieldset><h4>Things you can try:</h4> 
<ul> 	<li>Ensure that the NTFS permissions for the web.config file are correct and allow access to the Web server's machine account.</li> 	<li>Check the event logs to see if any additional information was logged.</li> 	<li>Verify the permissions for the DLL.</li> 	<li>Install the .NET Extensibility feature if the request is mapped to a managed handler.</li> 	<li>Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click <a href="http://go.microsoft.com/fwlink/?LinkID=66439">here</a>. </li> </ul> 
</fieldset> 
</div> 
 
<div class="content-container"> 
<fieldset><h4>Detailed Error Information:</h4> 
<div id="details-left"> 
<table border="0" cellpadding="0" cellspacing="0"> 
<tr class="alt"><th>Module</th><td>&nbsp;&nbsp;&nbsp;AspNetCoreModule</td></tr> 
<tr><th>Notification</th><td>&nbsp;&nbsp;&nbsp;ExecuteRequestHandler</td></tr> 
<tr class="alt"><th>Handler</th><td>&nbsp;&nbsp;&nbsp;aspNetCore</td></tr> 
<tr><th>Error Code</th><td>&nbsp;&nbsp;&nbsp;0x00000000</td></tr> 
 
</table> 
</div> 
<div id="details-right"> 
<table border="0" cellpadding="0" cellspacing="0"> 
<tr class="alt"><th>Requested URL</th><td>&nbsp;&nbsp;&nbsp;http://HarmonyWeb20161030022755:80/signalr/negotiate?clientProtocol=1.5&amp;connectionData=%5B%7B%22name%22%3A%22abpcommonhub%22%7D%2C%7B%22name%22%3A%22chathub%22%7D%5D&amp;_=1478054103314</td></tr> 
<tr><th>Physical Path</th><td>&nbsp;&nbsp;&nbsp;D:\home\site\wwwroot\signalr\negotiate</td></tr> 
<tr class="alt"><th>Logon Method</th><td>&nbsp;&nbsp;&nbsp;Anonymous</td></tr> 
<tr><th>Logon User</th><td>&nbsp;&nbsp;&nbsp;Anonymous</td></tr> 
 
</table> 
<div class="clear"></div> 
</div> 
</fieldset> 
</div> 
 
<div class="content-container"> 
<fieldset><h4>More Information:</h4> 
This error means that there was a problem while processing the request. The request was received by the Web server, but during processing a fatal error occurred, causing the 500 error. 
<p><a href="http://go.microsoft.com/fwlink/?LinkID=62293&amp;IIS70Error=500,0,0x00000000,9200">View more information &raquo;</a></p> 
<p>Microsoft Knowledge Base Articles:</p> 
  
 
</fieldset> 
</div> 
</div> 
</body> 
</html>

Thank you! This helps a lot.

I am not expecting this to be easy ;) I know it's a development framework and aspnetzero is a template not an SDK. Pointing me in the right direction is good enough.

I am also concerned about "onboarding" new developers to this architecture, so I want to be sure I blaze the trail on the proper setup and LTS issues, workflow and approach. Anything that can decrease the learning curve for any of our prospective new hires. We may even eventually want to contribute so any pointers on your own internal workflow is greatly appreciated. I collaborate on other large scale open source projects (mostly C++, java and iOS) and there are always policies and guidelines for contributing developers. Food for thought ...

By the way, you guys are doing some excellent work. So far, I have come to appreciate all of the out of the box features. Good job and keep it up! We are not a .net shop per se, but you are making the transition much smoother...

Patrice

Ouch! ;)

Will try this and report back.

By the way, while waiting for a lead on this I signed up for an AWS free account and will try to deploy there to see if I experience the same signalR issues. What do you think?

Will keep you posted.

Thanks, P.

Same problem on an AWS web server (basic elastic bean t2 micro with IIS 8). In fact, kept the dbserver on Azure so a multi cloud solution.

When I bypass the machine key encryption as you suggested signalR does stop stuttering, so it connects. But not the optimal secure solution.

What's now strange is that other modals work in the app just fine. Like the ones in admin for users. Just the ones I create following your guide are non responsive. Of course it all works locally on IISExpress :? So there must be something else related to the deployment...no exceptions are thrown though which make it a challenge to debug.

1- what led you to believe machine key encryption was a factor since I couldn't find any crypto related exceptions in my logs? It's obviously an issue so I must be missing something in the way I capture or inspect my logs. 2- are your vms configured differently?

P.

Ok - making some progress here...

There are definitely issues with both Azure and AWS deployments of this project from Visual Studio using their standard publish/deploy tools and extensions (both azure toolkit and aws toolkit). My PhoneBook app does not deploy completely. See attached screenshots from Chrome developer console pointing to all three (local, Azure and AWS). The view-resources/Areas/App folder in both Azure and AWS are incomplete, notably missing my additions. I don't know why since both deployments report success. This will explain the quirks with the interface.

Local IIS Express - which works...

[attachment=0:2qqeplkz]PhoneBookDeploy-Local.png[/attachment:2qqeplkz]

AWS deployment...

[attachment=2:2qqeplkz]PhoneBookDeploy-AWS.png[/attachment:2qqeplkz]

Azure deployment...

[attachment=1:2qqeplkz]PhoneBookDeploy-Azure.png[/attachment:2qqeplkz]

Looks like (for the moment) I may be better off using the old zip or war file deployment to my instances. Also noticed that the generated Phonebook.html on both Azure and AWS have some missing link-stylesheet tags when compared to the local versions. See below:

--- /Users/me/Desktop/PhoneBookAzure.html	Thu Nov  3 13:31:58 2016
+++ /Users/me/Desktop/PhoneBookLocal.html	Thu Nov  3 13:31:44 2016
@@ -12,16 +12,35 @@
     <link rel="shortcut icon" href="/favicon.ico" />
 
     
-
-    
         <link rel="stylesheet" href="/fonts/fonts-open-sans.css?v=8lr6XZ3pBBCfcQig2pcgXVEL1BA-lK2a7Efu6CPiQT8" />
-        <link rel="stylesheet" href="/view-resources/Areas/App/Views/_Bundles/layout-libs.min.css?v=MrEb6VO1ckE_u-PLA4eJaz1fj7YXYaE_UNDoro6bDOs" />
-
-        <link rel="stylesheet" href="/Common/_Bundles/common-styles.min.css?v=GME8qyQFRAiGRwoJGMlus_CaGUEei9mVE0ehA5aK_eQ" />
-
-            <link rel="stylesheet" href="/view-resources/Areas/App/Views/Layout/_ChatBar.min.css?v=ErbN4_DMt3OzOVVg1EctfMASmT2CkSG69t8f02efssk" />
-
-        <link rel="stylesheet" href="/view-resources/Areas/App/Views/Layout/_Layout.min.css?v=30idPFJJ8RAuO_LHbic3hBzMsk04bsOrbxXVEc5U1X0" />
+
+        <link rel="stylesheet" href="/lib/jquery-ui/themes/base/all.css?v=NKgjzRBp9mp8Hvpkvw7Jk_0qOK7b1-QBZMzSyqL2hBw" />
+        <link rel="stylesheet" href="/lib/jtable/lib/themes/metro/blue/jtable.css?v=DxiJUAAEjV6_Tw4JvvERoITb7euywp5YpXDrjFlFY3w" />
+        <link rel="stylesheet" href="/lib/simple-line-icons/css/simple-line-icons.css?v=rJyDwHwYGGiGIBhp80kPqVKy1gyk5oPl1-UF2lwetXw" />
+        <link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.css?v=tlDR4ddNyT7oEzbrjwByB7D9mUtxCbqZnOoa5S6IUcg" />
+        <link rel="stylesheet" href="/lib/famfamfam-flags/dist/sprite/famfamfam-flags.css?v=JVJiF3s2_kk99xQHfYhfxo_-Dd52ZIruDMOILwPkqv0" />
+        <link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.css?v=opI27tVP8lfzTdiKv9Wi8UuRkNhIAvZwMVLWtOpRHKk" />
+        <link rel="stylesheet" href="/lib/jquery-uniform/css/uniform.default.css?v=EXB-Xaz2c1X6TvGKN3wrXi_VGn9jhifv8y89TDu3PU4" />
+        <link rel="stylesheet" href="/lib/jstree/dist/themes/default/style.css?v=taGQpm6312cwcLbxB7ACEqe_fP288VZGDXvRqBuLHWo" />
+        <link rel="stylesheet" href="/lib/morris.js/morris.css?v=YM2mAT6Z3Bl89X14nBvhOgTo5bZeRXMimN62teEck84" />
+        <link rel="stylesheet" href="/lib/toastr/toastr.css?v=kKePN_CyxTiMEgsSDu_7z21ru07YOZtR-0UV0JOkt5o" />
+        <link rel="stylesheet" href="/lib/sweetalert/dist/sweetalert.css?v=RRPzTESDGqs41RcefXKeP6vuo538f_0GcitJDQLyCnA" />
+        <link rel="stylesheet" href="/lib/bootstrap-daterangepicker/daterangepicker.css?v=gC3cqLmOTd3WOrdf9pAC6rrF4j3atO9YdOGHodBdhFA" />
+        <link rel="stylesheet" href="/lib/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.css?v=bjyR5Et8wxwD9TCyh72Rq87xKN-Q3zOCuu0RTU6n1-Y" />
+        <link rel="stylesheet" href="/lib/bootstrap-select/dist/css/bootstrap-select.css?v=jq7PDmIVTzXSw3miqS0PfafJ5GSMBo_p2mZw5M388s4" />
+        <link rel="stylesheet" href="/lib/Jcrop/css/Jcrop.css?v=I5jnY2Pr7qJRYNSE3r8YP-Y25UIIgad5xoZ8sc_23W4" />
+        <link rel="stylesheet" href="/metronic/assets/global/css/components-md.css?v=k4_yIK9qsWJHy6gua6udmI7PZOBttyEOfJwBPSUl8Xs" />
+        <link rel="stylesheet" href="/metronic/assets/global/css/plugins-md.css?v=YCCs2A6112yLW3zs0DJryb0mK1o3qLJRGgJ1z1euyM4" />
+        <link rel="stylesheet" href="/metronic/assets/admin/layout4/css/layout.css?v=yDHFA8ZbtQELm_fGpVgzpoGN6qZ0IuBo2WMgbPa1kf8" />
+        <link rel="stylesheet" href="/metronic/assets/admin/layout4/css/themes/light.css?v=_-8jwY5Fnerzrl-_QqzJ2NATsW8LIFtGBqjfYcLkHXk" />
+
+        <link rel="stylesheet" href="/Common/_Bundles/common-styles.css?v=Uzfzz8FNxLMPuqIOTOAa8xpTvSf9NELXBpAtCiq6qEg" />
+
+            <link rel="stylesheet" href="/view-resources/Areas/App/Views/Layout/_ChatBar.css?v=YtKSITQwo4s6jfGv018FO8UL1dMvQK12zFuOSLtbY-Q" />
+
+        <link rel="stylesheet" href="/view-resources/Areas/App/Views/Layout/_Layout.css?v=GBUl9DxZcC5CKd7b_SXd5JcKHF2w1b7tdavDF1FlkJs" />
+    
+
     
 
     
@@ -119,7 +138,7 @@
                         <span class="username username-hide-on-mobile">
                             <span id="HeaderCurrentUserName">admin</span>
                         </span>
-                        <img id="HeaderProfilePicture" alt="" class="img-circle" src="/Profile/GetProfilePicture?t=636137905709011842"/>
+                        <img id="HeaderProfilePicture" alt="" class="img-circle" src="/Profile/GetProfilePicture?t=636137752245635491"/>
                     </a>
                     <ul class="dropdown-menu dropdown-menu-default">
                         <li class="dropdown-submenu">
@@ -529,9 +548,48 @@
     </div>
 
     
-
-    
-        <script src="/view-resources/Areas/App/Views/_Bundles/layout-libs.min.js?v=a2DXg2VAP15I1sBirPbF2vZVWGbe5dm7c8F8ijTdycs"></script>
+        <script src="/lib/json2/json2.js?v=w3DjWhUtDqy3bSJKv285C-2kagUtW9F64T9z3xRah8g"></script>
+        <script src="/lib/jquery/dist/jquery.js?v=A5AzdeUZJBV1X2MpcCLHI_iCCTFSpBAn2RvZthKq5AM"></script>
+        <script src="/lib/jquery-ui/jquery-ui.js?v=HZl1ZcSEwE4C-qRo4CngWVteur2bOZhBOGCWLgdZtYI"></script>
+        <script src="/lib/jquery-validation/dist/jquery.validate.js?v=N9-ijTKDOH_onmZ2PxQ7Q5wq1D3qiDZjMWtJ5YPHBpU"></script>
+        <script src="/lib/bootstrap/dist/js/bootstrap.js?v=1fo3W6qowq4PinpCsKshaVqewExoFmzrRBGKbSdAVEk"></script>
+        <script src="/lib/bootstrap-hover-dropdown/bootstrap-hover-dropdown.js?v=DxGviJzh6Az2-Ea5cklfbC8ASBUDodDxBAon8A9K7Jk"></script>
+        <script src="/lib/jquery-slimscroll/jquery.slimscroll.js?v=ESVSX4dkOxamaRoYfcqPM2FfErhgfxS60fp1Fa8ou1w"></script>
+        <script src="/lib/blockUI/jquery.blockUI.js?v=KKcUNqwNyTLaXzvuMyFk6JisiQq6Hk7ZtrciXnEf3Z0"></script>
+        <script src="/lib/jquery.cookie/jquery.cookie.js?v=r9al9t5A6eZ7Vf9q_sZv_0gn53XJlquAyelkqHKpJSM"></script>
+        <script src="/lib/jquery-uniform/jquery.uniform.js?v=ChypsNvFhESQuitxeI8xH7GU0o7d93Bmt8pgy0YZFk8"></script>
+        <script src="/lib/jquery-form/jquery.form.js?v=F5tWvF6sw-sXNQCxAM7utYAXU8nwUMQ2gT0raXiFRmU"></script>
+        <script src="/lib/jtable/lib/jquery.jtable.js?v=ELVLnxPOVhZtu_CAhPrt5Z3ydxWuLV0Az_ZBughuQ7c"></script>
+        <script src="/lib/Jcrop/js/jquery.color.js?v=wkEE2yIvlD9GmprFs6izjjr-UCKcaQbXr4vvU1-hn8M"></script>
+        <script src="/lib/Jcrop/js/Jcrop.js?v=mbYdJt5FCcScMPrOW-IRzQf-gamN31Vx2jTbOyygCOE"></script>
+        <script src="/lib/jquery-timeago/jquery.timeago.js?v=0OBL7Ee2vgqoI5OLcZwxUFaKFMLgZU_OO5MSf5dwB78"></script>
+        <script src="/lib/signalr/jquery.signalR.js?v=F-cltmJT3RDJHr8Vnl6rh6uQLW538cRcW8tmoUUqODA"></script>
+        <script src="/lib/localforage/dist/localforage.js?v=mwWSCeK16_XRRbtdG6jtxZgLE73rqOu_zQp_AKV2ifI"></script>
+        <script src="/lib/morris.js/morris.js?v=O7ZH97JawAgmG1Seh_Y5I3SYWYihlR9ImDKGQvqOngg"></script>
+        <script src="/lib/raphael/raphael.js?v=IkJmfzZMRtECAn3nxxrg7W-H_1Toi4NtRLc-GdnXUj8"></script>
+        <script src="/lib/jquery.sparkline/dist/jquery.sparkline.js?v=u9Mz3Tw4iWrQx5vfczDT_jXcV7-2kuOJtghsfCfx2Vw"></script>
+        <script src="/lib/jstree/dist/jstree.js?v=CcAs5hBEvrLL6hLvBLyweg2LIkxmaHIHyDKsNVUxFJg"></script>
+        <script src="/lib/bootstrap-switch/dist/js/bootstrap-switch.js?v=Ss6sPEX5SsXAc5WsCZElfrZ5vqqEI4HhHACjlFA9p9M"></script>
+        <script src="/lib/spin.js/spin.js?v=b1plKpQIB-XuGyjWec42MhmhpPzEPzFI3OC8Ia0XIoc"></script>
+        <script src="/lib/spin.js/jquery.spin.js?v=i7H7HL08ldqUANgfQInE7LlU2uWUdQMCJ-Q7-_zLutY"></script>
+        <script src="/lib/sweetalert/dist/sweetalert-dev.js?v=8Ax9AbL0t-8T2lGEE7el6KScQAziFlEufyT3R_0F-sU"></script>
+        <script src="/lib/toastr/toastr.js?v=prO6YeBrp6FzpE6glX7_GlSoPssvH4_OmY6Z3YJ2c6c"></script>
+        <script src="/lib/moment/min/moment-with-locales.js?v=5f0RFtuChrGi6osDzegxXWf5yOkmx45i7J9fM1p6P5w"></script>
+        <script src="/lib/moment-timezone/builds/moment-timezone-with-data.js?v=HyyL_iCFfDEonh5Gb9Ab0JlpvpBWkFng8DBRfTci52I"></script>
+        <script src="/lib/bootstrap-daterangepicker/daterangepicker.js?v=C2WqvJPtzNK2_-UETpblIhOe5LarIVKJ7z1KSjsKdbA"></script>
+        <script src="/lib/bootstrap-select/dist/js/bootstrap-select.js?v=Xf73iuF2K_Y9vlRBIWOPhFrfRQokcFiAYuh10tfM298"></script>
+        <script src="/lib/underscore/underscore.js?v=0BUDhy6ZqRFcFqMyBIZf0C34gj_bO2-bk5NuDbpef5A"></script>
+        <script src="/lib/mustache.js/mustache.js?v=yN-KNLfy21JU3TwWfmL2zK_Y8D9zwYKDwxS7UuMTLhs"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/abp.js?v=rvXmkuGYaBY5xz1GF3w2h00jfOJpSMBN3UJMpzfwZ84"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.jquery.js?v=mKdagSeuFcKYPr59WmgW-xz5P2IPKNKJPGadzFkvp78"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.toastr.js?v=QiSp17ew3zyFmdlcKq4HCIOw7UaqE8MC46Ekv50GzPs"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.blockUI.js?v=vMuHbqHh635SKL2RG2qsGGCDyHg1yFeGqhPKpS34g4k"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.spin.js?v=djoKib6ssm5DDzbXLe5pD7ayfFg3siaoEk-BFYzQlvI"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.sweet-alert.js?v=kvr1-s5a2P-iOsLli7RMpO6bfXhKRt2Xs-z-2c-ZC_s"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.moment.js?v=G2HzMAp8S4o0Fb7Yn-j6WpodxYmlZUvpuJwjZivD0xA"></script>
+        <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.jtable.js?v=KcFfILoas9yt3aVhtvcz-pPnAmnBoO3HhsA92gmx-M8"></script>
+    
+
     
 
     <script src="/Common/Scripts/_empty.js?v=9nBIoscZNpd_d6CmU8ELfANQ63BbUkDGq85hjxF2fXM"></script>
@@ -545,17 +603,19 @@
     </script>
 
     
-    <script src="/AbpServiceProxies/GetAll?v=636137887898816240" type="text/javascript"></script>
-    <script src="/AbpScripts/GetScripts?v=636137887898816240" type="text/javascript"></script>
+    <script src="/AbpServiceProxies/GetAll?v=636137742340244701" type="text/javascript"></script>
+    <script src="/AbpScripts/GetScripts?v=636137742340244701" type="text/javascript"></script>
 
     
     <script src="/signalr/hubs"></script>
     <script src="/lib/abp-web-resources/Abp/Framework/scripts/libs/abp.signalr.js?v=xn1vbxcYMCNA89xVbbgjPyBc6neHnAeGvGv2QmbyqJU"></script>
 
     
-
-    
-        <script src="/view-resources/Areas/App/Views/_Bundles/layout-metronic.min.js?v=QGOWIPzsD2BvoC20hYPkVRJymm6p04Wx4A7M99xyFeA"></script>
+        <script src="/metronic/assets/global/scripts/app.js?v=u-FALiNpMapUM9qjwdTDDlwT2JmylnHSg58gDSIiabw"></script>
+        <script src="/metronic/assets/admin/layout4/scripts/layout.js?v=aMGc57VyU8nABHRpGVeWQgioKedzjjEOBqVwJgnDUUg"></script>
+        <script src="/metronic/assets/layouts/global/scripts/quick-sidebar.js?v=60u7OY9IWjdXr-CpmKRKDsPMY4h9rZaleCQuW9uXaIs"></script>
+    
+
     
 
     <script type="text/javascript">
@@ -563,16 +623,19 @@
     </script>
 
     
-
-    
-        <script src="/Common/_Bundles/common-scripts.min.js?v=gjYY7MuNrXGS6meqpxE8ZJW4J2zwFjT01D3d10sS48U"></script>
-        <script src="/view-resources/Areas/App/Common/_Bundles/common-scripts.min.js?v=BwS9FrcFoyF61ki9WwyNssEsagSvJrnuARgcN1Ifk6A"></script>
-        <script src="/view-resources/Areas/App/Views/Layout/_Header.min.js?v=4GtNDIEth6K-ofwHpM0kdAtj3FOiutNjGXN037eFrWk"></script>
-            <script src="/view-resources/Areas/App/Views/Layout/_ChatBar.min.js?v=bWT95LqtSvR_NPNw6GjNY-MqYrem2eybVk6FEw3DHz8"></script>
-    
-
-
-    
+        <script src="/Common/_Bundles/common-scripts.js?v=yefm0CfyeFLkpxISkqykEu_uA7aESyuy7rhWxZShj0Y"></script>
+        <script src="/view-resources/Areas/App/Common/_Bundles/common-scripts.js?v=9YciSQNY9fs5OB4850Ufhjxwx3mh7ld9OlU_kgLVKqM"></script>
+        <script src="/view-resources/Areas/App/Views/Layout/_Header.js?v=6iM-qUfpyGTLtfrSOwwcAvjnJ7GROtIrWi-lRM9x3RQ"></script>
+            <script src="/view-resources/Areas/App/Views/Layout/_ChatBar.js?v=VutWym7KmQEqVrwJ_uhjE2x3qARSBcTeyXOcUoHCGlg"></script>
+    
+
+    
+
+
+    
+    
+        <script src="/view-resources/Areas/App/Views/PhoneBook/_CreatePersonModal.js?v=OCUnYLR_Iqok7fbaKWPtDL3yDZRdj9SO_2g7qyyO65M"></script>
+        <script src="/view-resources/Areas/App/Views/PhoneBook/Index.js?v=uZ5_tgfigaUVVPIIMeUd3vRsjp9xMmTtZ0N48XsEk9o"></script>
     
 
 </body>

Any thoughts? Has anyone encountered similar issues before?

P

I have tried two other deployment approaches and they all fail to configure Azure web app servers correctly for this project. 1-web deploy package 2-Team Services deployment

I have deployed small(er) aspnet and aspnetcore projects to both Azure and AWS before using some of the various approaches outlined with success. Never been an issue. So this looks project related. Maybe the way this solution is structured? Maybe the mix of netcore and straight net461 requires some more publishing tweaks? You mentioned your vm deployments. Can you try some straight Azure and AWS app server deployments on your side...

This is pretty much of a show stopper and deal breaker for us here, so your help is appreciated. We desperately need to get over this hurdle and go back to studying the framework and its classes.

Thanks, P

Hi -

No publishing errors per se, but the phonebook app behaved differently locally then when published (see above) so I naturally thought it had something to do with the deployment workflow.

Anyway,got it to work in all my publishing scenarios (azure, aws, web deploy, azure continuous integration via git, vsts etc...) this way:

So I started from scratch. Creating a new web application project based on VS2015 templates for ASP Core and .Net 4.6.1. No authentication Publishing to Azure host enabled Adding that project to the aspnetzero template solution Importing and merging base code from the old web project (generated from aspnetzero template) Customizing some business functions following your various guides Now the solution publishes fine.

Sorry, but don't have enough time to diagnose the root cause of my previous issues, but at least I'm back on track! :D

By the way, the issue of SignalR and spoofing the MachineKeyProtectionProvider still remains. I still don't think it's a secure workaround. Any head way along that front? Is there a github issue tracking SignalR hosting issues?

Thanks again for your help, Patrice

Showing 1 to 10 of 33 entries