|
Thanks Richard - why the caveat about
Richard Deeming wrote: and you're not using .NET Core. I am getting an invalid web.config error and will use the above as another check.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
|
Thanks Richard, I do wonder if that is needed on the localhost of the dev box, some light reading TY.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
The log file has a LOT of info. The only thing I can see is "The system cannot find the file specified", but it doesn't tell me WHAT file.
The web page it creates has "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
I'm still stuck.
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
When I came back from lunch my system has restarted.. I guess there was some system update...
At any rate I can' debug with chrome anymore.. web browser is not started by visual studio anymore...
Anyone else having the same issue?
|
|
|
|
|
I'm running Chrome Version 75.0.3770.90 (Official Build) (64-bit) which it up to date apparently, and I can get into the devtools without any problems.
Windows is Win10 1803 17134.829 which should be up to date as well.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Thanks Real Griff! Mm... the plot thickens.... :/
|
|
|
|
|
Have you tried turning it off and back on again?
(The internet, possibly?)
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
it's working today!
|
|
|
|
|
Could you please provide code example with jquery chatbot code example for static answers?
|
|
|
|
|
Seriously, you have been a member for 12 years and you have not worked out that we do not do your work for you. Do the research, do the work and when you hit a problem then ask for help and we will be more than happy to help YOU code it..
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Specifically, in a MVC application.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
HTML, CSS task
Draw 3*3 Rubik’s cube
Conditions:
Use CSS Grid Layout standards for creating grid inside each 6 layers
Use CSS variables to avoid redundant code
HTML/CSS Code should be Fexible enough to conveH 3X3 grid to any NXN grid
Would be beLer if you use CSS preprocessors - optional
JS task
Rotate the same cube generated using device orientation API
When you rotate the mobile/tablet cube should rotate in opposite direction of the
device motion
Make use of throLling to avoid unnecessary renderings
|
|
|
|
|
Final task
Realize nobody here is going to do your homework for you.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
It is incredibly rude and extremely lazy to post your homework and not even ask a question.
Social Media - A platform that makes it easier for the crazies to find each other.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
A bit long but I'm really stuck here.
I've posted about this before, but I stil can't figure out what's wrong, so I"m going to extend my question with a lot more code.
I'm working on a WPF app that calls an Asp.net WebAPi. I'm having trouble calling Web API methods. In some cases, the API call succeeds and in some cases it fails. The issue seems to be the TYPE of params being passed.
I could really use someone with a lot more insight than me to help. Google searches lead me all over the place and I"m really stuck.
For example, this method works fine
[HttpPost]
public Response<Guid> AddRuleDefinition(RuleDefinitionEntity entity)
{
var response = new Response<Guid>();
try
{
IRulesBL bl = GetBL();
response.Data = bl.AddRuleDefinition(entity);
}
catch (Exception e)
{
response.Exception = e;
}
return response;
}
This only works if I pass the Guid as a string:
[HttpDelete]
public Response DeleteRuleDefinition([FromUri] string id)
{
var response = new Response();
try
{
IRulesBL bl = GetBL();
bl.DeleteRuleDefinition(new Guid(id));
}
catch (Exception e)
{
response.Exception = e;
}
return response;
}
This works, but the results list is null. The 'trigger' parameter is there:
[HttpPost]
public Response<List<string>> ExecuteRuleGroup(List<AssayResultEntity> results, string trigger)
{
var response = new Response<List<string>>();
try
{
IRulesBL bl = GetBL();
response.Data = bl.ExecuteRuleGroup(trigger, results);
}
catch (Exception e)
{
response.Exception = e;
}
return response;
}
I call the methods from the client using an wrapper class I call WebAPIExecutor.
public class WebAPIExecutor
{
private RestClient client;
<pre>
private RestRequest request;
public string ServerAddress { get; private set; }
public string URL { get; private set; }
public WebAPIExecutor(CredentialsEntity credentials, string ipAddress, string controller, Method method = Method.POST)
{
ServerAddress = string.Format("<a href="http:
client = new RestClient(ServerAddress);
client.AddHandler("text/plain", new JsonDeserializer());
request = new RestRequest(controller, method)
{
RequestFormat = DataFormat.Json
};
}
public void AddParameter(object value, string name = "")
{
if (value == null)
{
throw new ArgumentNullException("value");
}
Type type = value.GetType();
bool isPrimitive = type.IsPrimitive;
if (isPrimitive || type == typeof(string) || type == typeof(decimal))
{
if (string.IsNullOrEmpty(name) && request.Method == Method.GET)
{
throw new ArgumentNullException("Parameter 'Name' cannot be empty for Get requests");
}
request.AddParameter(name, value);
}
else
{
request.AddBody(value);
}
}
public async Task<T> ExecuteAsync<T>() where T : new()
{
URL = client.BaseUrl + request.Resource;
IRestResponse<t> restResponse = await client.ExecuteTaskAsync<t>(request, new CancellationToken());
var result = (T)restResponse.Data;
if (!string.IsNullOrEmpty(restResponse.ErrorMessage))
{
throw new Exception(restResponse.ErrorMessage);
}
else
{
if ((int)restResponse.StatusCode >= 299)
{
string message = string.Format("An error occured calling the WebAPI. {0} The status code is '{1}'. {2} The error message is {3}",
Environment.NewLine, restResponse.StatusCode, Environment.NewLine, restResponse.Content);
throw new Exception(message);
}
}
return result;
}
public async Task ExecuteAsync()
{
URL = client.BaseUrl + request.Resource;
IRestResponse result = null;
try
{
result = await client.ExecuteTaskAsync(request);
int resultCode = (int)result.StatusCode;
if (resultCode > 299)
{
string message = string.Format("An error occured calling the WebAPI. {0} The status code is '{1}'. {2} The error message is {3}",
Environment.NewLine, resultCode, Environment.NewLine, result.Content);
throw new Exception(message);
}
}
catch (Exception e)
{
throw e;
}
}
}
Then I created a proxy which has many methods that all look like this:
public async Task<Response<Guid>> AddRuleDefinitionAsync(RuleDefinitionEntity entity)
{
var webAPIExecutor = new WebAPIExecutor(Credentials, ServerUrl, "/Rules/AddRuleDefinition/", Method.POST);
webAPIExecutor.AddParameter(entity, "entity");
return await webAPIExecutor.ExecuteAsync<Response<Guid>>();
}
Here's my WebAPIConfig:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
}
}
Global.Asax.cs
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configuration.MessageHandlers.Add(new APIKeyHandler());
GlobalConfiguration.Configuration.MessageHandlers.Add(new AuthHandler());
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
Thanks
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Kevin Marois wrote:
if (isPrimitive || type == typeof(string) || type == typeof(decimal))
That line looks suspicious for the Guid problem - a Guid is not a primitive type, so you're always passing it in the body instead of the querystring.
A couple of other comments:
Kevin Marois wrote:
catch (Exception e)
{
throw e;
}
Don't do that. You've just destroyed the stack trace of the exception. If you have to re-throw an exception, just use throw; instead of throw e; . But in this case, since you're not doing anything with the exception, there's no point in catching it.
Kevin Marois wrote:
throw new Exception(message);
You should avoid throwing the base Exception type; use a more specific exception type instead.
If you throw the base Exception type, your calling code has no choice but to use a "Pokemon" catch block (gotta catch 'em all). It has no way of knowing whether it can handle the exception or not.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: if (isPrimitive || type == typeof(string) || type == typeof(decimal))
OK, so I changed this.
I now tried
Controller
[HttpGet]
public Response<List<string>> ExecuteRuleGroup(string trigger, List<AssayResultEntity> results )
{
var response = new Response<List<string>>();
try
{
IRulesBL bl = GetBL();
response.Data = bl.ExecuteRuleGroup(trigger, results);
}
catch (Exception e)
{
response.Exception = e;
}
return response;
}
Client
public async Task<Response<List<string>>> ExecuteRuleGroupAsync(string trigger, List<AssayResultEntity> results)
{
var webAPIExecutor = new WebAPIExecutor(Credentials, ServerUrl, "/Rules/ExecuteRuleGroup/", Method.GET);
webAPIExecutor.AddParameter(trigger, "trigger");
webAPIExecutor.AddParameter(results, "results");
return await webAPIExecutor.ExecuteAsync<Response<List<string>>>();
}
And the list is null on the controller.
Should the controller method be a POST? I've tried that but I then get a Not Found exception when I call it.
I'm really stuck here. What else could be causing the list to be null?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
List<AssayResultEntity> is not a primitive type, and is not one of the "special" types you're sending via the querystring, so it's always sent in the request body.
A GET request cannot have a request body.
So yes, it needs to be a POST request.
(You'll also need to update the client method to match.)
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Well I just created a quick console app.
Controller
I created a wrapper entity that contains the params I'm passing. Both the 'Trigger' param and the list of results are now properties on the AssayResultsEntity class. No other changes here.
[HttpPost]
public Response<List<string>> ExecuteRuleGroup(AssayResultsEntity results)
{
var response = new Response<List<string>>();
try
{
IRulesBL bl = GetBL();
response.Data = bl.ExecuteRuleGroup(results.Trigger, results.Results);
}
catch (Exception e)
{
response.Exception = e;
}
return response;
}
Console App
This works fine.
class Program
{
private readonly static string uri = "http://localhost:65078/API";
private readonly static HttpClient client = new HttpClient();
static void Main(string[] args)
{
RunAsync().GetAwaiter().GetResult();
}
static async Task RunAsync()
{
client.BaseAddress = new Uri("http://localhost:65078/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
try
{
await SendRulesAsync();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
}
static async Task SendRulesAsync()
{
AssayResultsEntity asr = new AssayResultsEntity
{
Trigger = "rule_trigger_bay_run_complete",
Results = new List<AssayResultEntity>
{
new AssayResultEntity { AccessionNumber = "Test 1" },
new AssayResultEntity { AccessionNumber = "Test 2" },
new AssayResultEntity { AccessionNumber = "Test 3" },
}
};
HttpResponseMessage response = await client.PostAsJsonAsync("api/Rules/ExecuteRuleGroup", asr);
response.EnsureSuccessStatusCode();
var returnValue = await response.Content.ReadAsAsync<Response<List<string>>>();
}
}
So this leads me to believe that my WebAPIExecutor class is the culprit. Anything wrong with this above approach? Again, I pretty new to WebAPI's so I'm not always sure.
one question.. .the PostAsJsonAsync methos only takes 1 param. Is it possible to pass multiple params to the controller using this?
Thanks
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Well, I don't understand it, but I went back to my original code and used the wrapper class - no other changes, and now it works.
So the controller takes a class with a List<t> as a param, but not a List<t> as a param.
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
modified 12-Jun-19 12:42pm.
|
|
|
|
|
|
hello again...
please take a look at this site in progress: http://www.moonjams.net/cho2.html
I used a bootstrap design I nicked from GetBootstrap, because:
1) I very much liked the overlapping of the intro text & intro image in the section class
2) The fact that the main navbar is placed below the header
(in fact...my entire design premise is built around those two aspects; & the image collage above the footer)...but...the entire design is also linked to an external GetBootstrap stylesheet...meaning that, if that stylesheet were ever yanked from that site, my site would fall flat on it's face.
so...here's my basic questions:
1) In Bootstrap design...in any basic editor (right now using Dreamweaver CC2018)...how would I design (FROM SCRATCH) a page to look like this...where I could link to my own stylesheet; & also link to my own custom fonts? I've tried all the basic bootstrap templates (from Dreamweaver), but can't find anything even similar. When I use an existing template, I don't have the knowledge to maneuver it into that design.
2) in the past, I was used to working in a wysiwyg editor, where I could physically move images & text blocks around on a page...but that method is relegated to static design (& not responsive design). Is there some function in all basic editors that allows me to select an attribute & then somehow guide it to where I want it to be placed on the page...OR, even better yet...issue sets of commands in the code to have it placed there properly (so that I'm learning how to code properly as I'm working)?
thanx,
mf
|
|
|
|
|
I am not sure if I follow you in the question, since I have not explored Dreamweaver, but I believe what you need is something like this, Bootstrap Studio - The Revolutionary Web Design Tool.
Quote: where I could link to my own stylesheet; If you have access to HTML, then simply add the link element, if not, then use the tools that are provided to create a new node in the page and add the stylesheet.
As for the second part of your question, that requires something like a page builder. As for Bootstrap page builders, I am not so sure of this, a quick Google search for "bootstrap page builder" might help you. But I have to warn you that most of these tools would be premium tools.
Quote: OR, even better yet...issue sets of commands in the code to have it placed there properly Well, I don't think you can do that via a command-line interface.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
I have a similar problem. I'm really looking forward to the correct answer.
|
|
|
|
|