|
GrumpyDoctor posted:How do GhostDoc and Sandcastle/SHFB compare? Theyre different things entirely Sandcastle compiles the inline documentation to a set of web pages or whatever. As far as I can tell, GhostDoc is good for automatically writing a comment stating that GetButts() gets the butts. Did they add compilation or something?
|
# ¿ Jun 20, 2014 23:19 |
|
|
# ¿ May 2, 2024 08:52 |
|
Mr. Crow posted:Anyone have experience hosting external applications in WPF? In the simplest case it's pretty trivial (e.g. notepad) but if it's between two complex apps it quickly gets out of control. How much control do you have over the external process? If the answer is "none", I'd recommend building your program as a shell which draws itself around the other windows, it sounds like asking for trouble otherwise. Essential posted:What do you guys use for installing and updating distributed/commercial applications? Not huge scale commercial, but installed across 1000's of computers around the world and able to update to the latest version. Here's what I've used: We distribute our products as MSI packages (I think we use WiX), but we have the luxury of our update model being sales emailing the clients and telling them to grab the new MSI when they get around to it. I've toyed around with the idea of using MEF or child AppDomains for reloading code without exiting the process, mostly for services, which seemed promising.
|
# ¿ Jul 2, 2014 18:55 |
|
Ender.uNF posted:To be fair to you, this is one of the vast number of pitfalls and absurdities everyone encounters when learning. Why would the default ToString() behavior of any object be to print its type name? When is that ever useful? (hint: never). On the contrary, it's very useful for telling me "hey moron, you need to do something with this object!"
|
# ¿ Aug 11, 2014 23:31 |
|
Careful Drums posted:I have a problem: the default bundling in System.Web.Optimization is not cutting it. If you go the all-static route, Microsoft has a library/tool called the Ajax Minifier and a tool which builds on it called WebGrease which you might find useful.
|
# ¿ Aug 19, 2014 22:43 |
|
spiderlemur posted:Is there a good way to integrate certain CMS features into an existing site without having to full on use a CMS? I don't want the CMS taking over the site and disrupting what has already been written, I just need a small portion of that site to support say, creating and displaying articles, with the other site pages / part of the homepage undisturbed. I think it's possible to convert an existing MVC site into an Orchard module, maybe you could look into that? Or if that's too complicated, why not just make parts of the site dynamically generated, and only provide editors for those specific parts?
|
# ¿ Sep 1, 2014 16:36 |
|
Uziel posted:OK I have a monolithic Webforms application that uses EXT.Net for the front end. I am looking to convert it to MVC but need a replacement for EXT.Net for as much as possible. Right now I'm in the middle of upgrading an application which uses Ext.Net 1.5 and I would advise biting the bullet and migrating to straight up Ext. ExtJS 5 has lots of fun new MVVM features which make development a lot easier and a lot of pieces and pages have been a 1 to 1 translation from markup to components, even with jumping ahead two major versions of Ext. My application was all MVC from the start though, so getting in the mindset of having a separate front end was easier. You don't need to use Sencha Cmd, it's pretty easy to structure something in MVC which works with the loader. You can PM me if you have specific questions.
|
# ¿ Sep 9, 2014 00:25 |
|
Uziel posted:I had thought about it but I'd never get approved for the ext js license unfortunately plus we'd still likely need to use ext.net for the calendar portion. There's also a GPL license, if you dig deep enough on Sencha's site. Also, are you referring to the big Google Calendar style view? It's been a while but I seem to think that that's actually a third party product.
|
# ¿ Sep 9, 2014 02:47 |
|
Uziel posted:Oh. Does my code have to be open source in order to take advantage of it? Its for an internal tool, not software that is sold. The GPL question depends on the type of product you're building. Internal-only tools should be clean, because it's company IP and so the only users who could request the code work there anyway, but IANAL. Having duplicate models is unfortunately a fact of life - I have database objects, then .NET model objects which are returned and consumed by web APIs (in some situations, you might think of them like the VM part of MVVM), and then Ext representations of those models. With reflection it would be possible to generate the JS from the .NET classes and save you from maintaining two copies, I think Ext.Net does that anyway. The view models you create for Ext are specific to components though, the models are what will be sent to and received from the server. That calendar looks like the one from http://ext.ensible.com.
|
# ¿ Sep 9, 2014 18:45 |
|
epalm posted:When I suck in a 3rd party library via NuGet, and that library does some logging, do I generally want to see their logs in my logs? If the answer is yes, what if the 3rd party lib uses a different logging mechanism, like log4net? If I have my facts straight, DiagnosticsTraceAppender will just act as a pass-through to pipe log4net logs into System.Diagnostics logs, so everything ends up in the same place. Yes, that will insert other libraries' log messages into your trace stream. Doesn't log4net include a trace appender already though? With log4net, one configuration applies to all logging instances in the entire AppDomain. (For example, as part of my own application's log configuration, I set the NHibernate loggers to only be included at the error level and above.)
|
# ¿ Sep 12, 2014 06:17 |
|
Newf posted:The views are alternative representations of math problems. You should just keep them on the file system. When you're returning a View action result you can specify the name of the view file. If you need more control, IIRC you'll need to implement a view engine to customize the path lookup logic.
|
# ¿ Sep 26, 2014 01:08 |
|
Aren't those array functions evaluated lazily? I wonder if stepping through in the debugger forces an evaluation and you wouldn't otherwise see it in normal execution for a while.
|
# ¿ Oct 20, 2014 18:49 |
|
Che Delilas posted:The full User entity contains fields like PasswordHash and SecurityToken, which I don't need to display to the client. If I return View(context.Users.ToList()); then those fields will be transmitted to the client even if the view doesn't make use of them, right? Can someone who knows how do anything evil with those values? No, the values only go as far as the view rendering code, and go away once that finishes. If you never use them in the view, they will never go to the client.
|
# ¿ Nov 27, 2014 00:14 |
|
I'm using Autofac with an MVC project. I need to provide a value from HttpApplication.Request to the container - it needs to be used elsewhere in the hierarchy, possibly from components which don't know anything about ASP.NET. Something like:code:
|
# ¿ Dec 7, 2014 21:24 |
|
The problem is that ButtModule is dynamically loaded and Application_Start will have no idea it even exists (usually with RegisterAssemblyModules and a dynamically loaded assembly). Likewise, ButtModule does not know that it's being used in ASP.NET (or at least I'd like to avoid explicitly referencing/checking it). Can Autofac inject into a module constructor? I could maybe find a way to pass those values as parameters.
|
# ¿ Dec 8, 2014 03:38 |
|
Wardende posted:If ButtModule doesn't know it's being used in ASP.NET, why does it need a user host address? Why shouldn't it reference System.Web if it deals in IP addresses? Seems natural to me... In this case it needs a string identifying the origin of the request for auditing purposes. When used from ASP.NET I use the request IP address, from WCF I have to get the client IP address from the operation context, when used directly I would pass the string "local". Destroyenator posted:I think this does what you're looking for? http://stackoverflow.com/a/15542425/291137 I'll give it a shot at work tomorrow, thanks.
|
# ¿ Dec 8, 2014 07:30 |
|
Wardende posted:Perhaps you need an, uh, IAuditIdentifierProvider and three implementations (one which retrieves the IP address from System.Web, one which gets the client IP, and one which provides "local"), and add that as a dependency to the ButtModule instead of a string. Then you can register the correct implementation in each App_Start. Yeah, this ended up being a lot simpler than screwing around with registering delayed values or whatever. Thanks, I'm still new to the idea of structuring an application properly for DI.
|
# ¿ Dec 9, 2014 15:55 |
|
GrumpyDoctor posted:Does anybody know why an application built against log4net 1.2.13 would think it needs log4net 1.2.11 as well and fail to run? It happens on some computers but not others. Is one of its dependencies referencing 1.2.11? IIRC that was the version that log4net switched to a new code signing key, which broke usage when some assemblies in an AppDomain referenced an assembly with the old key and some referenced one with the new. As for happening on some computers and not others, it could be that the old version is being picked up from the GAC for some. e: I realize Munkeymon already asked it but be sure to check third-party assemblies too.
|
# ¿ Mar 5, 2015 20:37 |
|
TheEffect posted:So CopyDirectory doesn't do much really, like copying permissions over and things like that. I've found ways around most of these problems thanks to you guys but is there any way to copy the source folder's icon over? Or rather, whatever attribute handles the location of which icon to use for the directory? I believe that's handled with desktop.ini inside the directory. I think it's hidden and possibly even system by default.
|
# ¿ Apr 2, 2015 00:22 |
|
First time I've used async methods in a long time and I don't know which of two alternative approaches is better. I have two operations to do: read a file from disk, and deserialize it from JSON. Reading the file can potentially be done asynchronously, but AFAIK deserializing with Newtonsoft.JSON is only synchronous. C# code:
C# code:
|
# ¿ Nov 24, 2017 05:56 |
|
hirvox posted:#2 should perform better on higher loads, because the thread can be released to perform other tasks while the stream is being read. #1 will use up a thread until both the stream read and deserialization are complete. raminasi posted:hirvox covered why #2 is preferred, but I’ll add that the async deadlocking footgun that I think you’re referring to manifests when you try to jam asynchrony into a synchronous workflow by using Result or Wait, rather than the opposite, which is what you’re doing here. Got it, thanks! I'll go with the second. And yeah, now that I think of it, I had my fear of deadlocks backwards.
|
# ¿ Nov 25, 2017 19:00 |
|
The NPC posted:We have made an app that sends email notifications to users under certain criteria. E.g.: Equipment needs to be returned, certificates expiring. These are set up so if an action is required, and a user doesn't do $thing after $timeperiod, their manager gets CC'd, and eventually we open up a ticket (Service-Now). I think you answered your question at the end there. The next step after a ticket is tangible consequences for not taking the action or not following up on the ticket.
|
# ¿ Oct 26, 2021 01:09 |
|
|
# ¿ May 2, 2024 08:52 |
|
fuf posted:Yeah sorry I think it's because I'm imagining this halfway thing like the Plex and SABnzbd examples I gave. Like it's an executable that you run locally but you access the UI through your browser by going to localhost:4444 or whatever. I'm not sure whether that's still called a webapp? AFAIK applications like these usually solve that problem by either having the user type in the path relative to where the server is running, or providing a custom file browser component backed by an API which lists the server's file system. This is because they don't always necessarily run on the same machine as the user's web browser.
|
# ¿ Nov 13, 2021 18:56 |