|
Hello Richard Deeming, Thank you for your respond. I have lookedup and followed your advice. Now it is not givng a 404 error but a 405? (i have linked the to content/img/menmber_image) As far as i know 405 is a block question, could this be a IIS issue? (I'am testing on localhost).
Thank you
|
|
|
|
|
405 is "Method not allowed". This is usually caused by something like your client-side code getting the URL correct but trying to POST whereas the method is expecting a GET, or the other way around.
|
|
|
|
|
hello Dave Kreskowiak, thank you for your response. Little by little i am hopely to the 'working result'. Reading your words, i think i have to add a new cshtml (UploadImage.cshtml) file to my Members folder (I have to set again the firsturl: '/Member/UploadImage',). Should i include the javascript there also?
Thank you
|
|
|
|
|
No, you don't. You just need to figure out why the client-side code is making a call to a method using the mode that the method didn't expect. If the controller method doesn't have a [HttpPost] attribute on it but the client-side code is making a POST call, well, that's a problem. It could be a few things like this.
Adding more files and code isn't going to solve this problem.
|
|
|
|
|
Ultimately I wish to have my app watch for any new processes recording the command line and the owner. I can get the processID, Name, and CommandLine without any issues however since the ManagementEventWatcher returns a ManagementBaseObject and not a ManagementObject (which has a method for .GetOwner) I cannot seem to get the owner.
What I have tried.
- I looked through the properties of the ManagementBaseObject, no method for GetOwner or a property for User.
- I pulled the ProcessID from the ManagementBaseObject (mboEvent["TargetInstance"])["ProcessID"].ToString(). This works as I can get a ManagementObject and then use GetOwner...
The second item does work except that it only works on a slower command (for example Powershell.exe Get-Process) as the process still exists at the time of the query. But quicker commands (like net use or powershell.exe get-services) don't return a username as the process is gone by the time I query for it.
Any help would be amazing, thanks in advance for any help you can give.
|
|
|
|
|
|
Brilliant ! Thank you so much for the quick response. You saved me hours. I very much appreciate it.
|
|
|
|
|
i am using this code
using System;
using System.Windows.Forms;
using System.Timers;
namespace T_TEST
{
public partial class Form1 : Form
{
static System.Timers.Timer timer;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
schedule_Timer();
}
static void schedule_Timer()
{
Console.WriteLine("### Timer Started ###");
DateTime nowTime = DateTime.Now;
DateTime scheduledTime = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, 1, 59, 0, 0);
if (nowTime > scheduledTime)
{
scheduledTime = scheduledTime.AddDays(1);
}
double tickTime = (double)(scheduledTime - DateTime.Now).TotalMilliseconds;
timer = new System.Timers.Timer(tickTime);
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
static void timer_Elapsed(object sender, ElapsedEventArgs e)
{
timer.Stop();
MessageBox.Show("Hello World!!!");
schedule_Timer();
}
}
}
the above code has one problem that once the timer fire then it will fire next day. i want if timer fire and after few minute if i reset my system time again then it should fire again.
how to customize the above code for my requirement. anyone mind to help me plzzz.
thanks
tbhattacharjee
|
|
|
|
|
You should look at this[^] - it's one of the more obscure events I grant you, but it should be easy enough to hook into this.
This space for rent
|
|
|
|
|
Because you set the tick time to a specific value, means that it fires at that interval, not that it fires at a specific time: it doesn't add the tick interval to the system clock when you start the timer, it sets a specific number of ticks that should elapse before the timer event is fired. Changing the system clock does not affect that tick count, so if you set a timer for one hour and then move the clock forward 59 minutes, it will still be an hour before the timer fires.
If you want to first at a time, then set the timer interval to 30 seconds, and set a class level DateTime value at which you want to call your method. In the tick handler, compare the current time to the class level value and call your method if it matches. That way, you can reset the clock after it fires, and it will match a second time.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
can u plzz post some sample what u said "If you want to first at a time, then set the timer interval to 30 seconds, and set a class level DateTime value at which you want to call your method. In the tick handler, compare the current time to the class level value and call your method if it matches. That way, you can reset the clock after it fires, and it will match a second time."
thanks
tbhattacharjee
|
|
|
|
|
You should be able to do that yourself, if you wrote the code you show! You know how to set the interval on the timer, and you know how to create variables...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
- call your timer (for example) every Minute - set timer.tick to 60000
- when you have the timer.event don't stop the timer
- compare if now is greater or equal your schedule-time, but less your schedule-time +30 seconds - if yes the give the message and increase your schedule-time
modified 24-Feb-17 6:28am.
|
|
|
|
|
Didn't really know where to ask this so went for the lowest common denominated forum! C# FTW!
Anyway, I was wondering if this was a problem that had already been solved but I'm not aware of the generalised approach.
I have an MvvmCross based solution that uses SQLite as the data store. All the common functional goodness is in a core PCL project, all fine and dandy. In this core PCL I have the data access stuff along with resx files containing any strings needed in the various application UI projects.
When the application starts up it initialises a connection to the SQLite database. If the database doesn't yet exist and requires creation (think very first run of the application) it needs to create the database and populate it with some initial data (just for ease of setup with some generic lookup data). This data is fully editable by the user but this is more of a convenience task to get the user up and running quickly without burdening them with loads of config before being able to do something useful.
What I'm looking at is using localised resx data for the source of this look-up data. I can think of a few ways of doing this but before I pop off and roll a solution I was wondering if there were any generalised approaches to this scenario that people had used before.
Googling hasn't turned anything up thus far so I thought I'd cast the net out to you lot first.
|
|
|
|
|
|
I wasn't really looking for general information on app globalisation, I've developed a few globalised apps in my time but I've not been in my current specific situation and wondered if there was a relevant pattern.
Thanks anyway.
|
|
|
|
|
The "recommended patterns" are there. I find it's not worth the effort to go against the grain in these situations. Adopt; then extend, if necessary.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
I might not have explained my question properly to be honest.
Localising an application using Resx and custom UI binders for XAML, iOS and Android Xamarin apps is fine. I've done all these things before. Handling RTL globalisation in WPF apps is also something I've done before as well.
I was basically looking for inspiration regarding taking localised strings from RESX files and populating various database tables with lookup values for things.
What I've ended up doing is implementing the Builder pattern to aggregate key value pairs from these RESX files and utilising my repository pattern bits to automatically populate these lookup tables on the initial creation of the SQLite db3 file.
My base builder class looks like this (not perfect by a long shot, there is no abstraction of the connection I can use for instance):
public abstract class LookupBuilderBase<T> where T : class, IEntity, new()
{
protected SQLiteAsyncConnection AsyncConnection;
protected IDictionary<string, string> LookupData;
protected IRepository<T> Repository;
protected readonly IList<T> Data = new List<T>();
protected LookupBuilderBase(SQLiteAsyncConnection conn, IDictionary<string, string> lookupData)
{
AsyncConnection = conn;
LookupData = lookupData;
}
public async Task Execute()
{
CreateRepository();
BuildData();
await InsertData();
}
protected abstract void BuildData();
protected virtual async Task InsertData()
{
foreach (var item in Data)
{
await Repository.Insert(item);
}
}
private void CreateRepository()
{
Repository = new Repository<T>(AsyncConnection);
}
}
I can then write builders like this:
public class CategoryBuilder : LookupBuilderBase<Category>
{
public CategoryBuilder(SQLiteAsyncConnection conn, IDictionary<string, string> lookupData)
: base(conn, lookupData)
{
}
protected override void BuildData()
{
var values = LookupData.Where(x => x.Key.StartsWith("Category"));
foreach (var keyValuePair in values)
{
Data.Add(new Category { Name = keyValuePair.Value });
}
}
}
|
|
|
|
|
I would have a single table (for a given "dimension") and have columns for each resource.
At run-time, using Linq, or C# / SQL "views" (or some other magic), I would materialize only the column that the app's locale required.
Adapters.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
It's either a case of filter what you're interested in on the way into the database or shove it all in there and filter on the way out of the database.
I opted to only put relevant stuff into the database which means that considering the data is 99.99999999% handled in reads not writes I opted to make the read more efficient.
|
|
|
|
|
"Shove it in there"?
It becomes THE repository for your resources; and not just some "staging area".
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
That's what RESX files are ...
|
|
|
|
|
Then why are you loading them into a table....
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
In the instance of Categories it's because they are simple lookup values loaded into a view model for, for example, binding to a combobox. BUT they are also useful as values used in foreign key relationship in the database.
Resex is the best way to handle automatic localisation utilising standardised approaches for this in the .NET framework but also have value in the database.
|
|
|
|
|
I see.
I, however, would not think twice about loading it all into a database if I had to "share" in the ways you describe; let alone report on and cross-check all this stuff for any sizable project.
Resx internals are simple; there is nothing stopping one from importing or exporting them.
It's a question of which "smell" one prefers then.
In any case, the "assets" are separated from the "code"; the whole point of "resource files" (whatever the implementation).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|