我有以下枚举:
public enum AuthenticationMethod
{
FORMS = 1,
WINDOWSAUTHENTICATION = 2,
SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)
然而问题是,当我要求AuthenticationMethod.FORMS而不是id 1时,我需要"FORMS"这个词.
我找到了以下解决此问题的方法(链接):
首先,我需要创建一个名为"StringValue"的自定义属性:
public class StringValue : System.Attribute
{
private readonly string _value;
public StringValue(string value)
{
_value = value;
}
public string Value
{
get { return _value; }
}
}
Run Code Online (Sandbox Code Playgroud)
然后我可以将此属性添加到我的枚举器:
public enum AuthenticationMethod
{
[StringValue("FORMS")]
FORMS = 1,
[StringValue("WINDOWS")]
WINDOWSAUTHENTICATION = 2,
[StringValue("SSO")]
SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)
当然我需要一些东西来检索StringValue:
public static class StringEnum
{
public static string GetStringValue(Enum value)
{ …Run Code Online (Sandbox Code Playgroud) 可能重复:
C# - "开启类型"有比这更好的选择吗?
如果你想要switch一种类型的对象,最好的方法是什么?
private int GetNodeType(NodeDTO node)
{
switch (node.GetType())
{
case typeof(CasusNodeDTO):
return 1;
case typeof(BucketNodeDTO):
return 3;
case typeof(BranchNodeDTO):
return 0;
case typeof(LeafNodeDTO):
return 2;
default:
return -1;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,但我想知道如何解决这个问题.if/else在这种情况下是否适用声明?
或者你使用开关并添加.ToString()到类型?
我希望我的日志文件看起来像这样:2009-02-13.log
但问题是我似乎无法找到任何方法来添加.log扩展名.
我尝试了很多东西,但没有任何帮助.这是我迄今为止所拥有的:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs/Log4Net/.log"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud) 我最近创建了一个接口层来区分DataAccessProvider和业务逻辑层.通过这种方法,我们可以随时通过更改Web/App.Config中的值来更改DataAccessProvider的选择.(如果需要,可以给出更多细节).
无论如何,要做到这一点,我们使用反射来完成我们可以工作的DataProvider类.
/// <summary>
/// The constructor will create a new provider with the use of reflection.
/// If the assembly could not be loaded an AssemblyNotFoundException will be thrown.
/// </summary>
public DataAccessProviderFactory()
{
string providerName = ConfigurationManager.AppSettings["DataProvider"];
string providerFactoryName = ConfigurationManager.AppSettings["DataProviderFactory"];
try
{
activeProvider = Assembly.Load(providerName);
activeDataProviderFactory = (IDataProviderFactory)activeProvider.CreateInstance(providerFactoryName);
}
catch
{
throw new AssemblyNotFoundException();
}
}
Run Code Online (Sandbox Code Playgroud)
但现在我想知道反思有多缓慢?
如果你有一个页面<asp:TextBox TextMode="Password" ... />.
如何在回发后保留价值?
这是我的问题:
在我的应用程序的注册屏幕上,您需要输入密码.然后单击"提交",发生回发并清除密码字段,如何防止密码字段清除?
我有一个在C#中生成MD5哈希的函数,如下所示:
MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = md5.ComputeHash(data);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < result.Length; i++)
{
sb.Append(result[i].ToString("X2"));
}
return sb.ToString();
Run Code Online (Sandbox Code Playgroud)
在java中,我的函数如下所示:
MessageDigest m = MessageDigest.getInstance("MD5");
m.update(bytes,0,bytes.length);
String hashcode = new BigInteger(1,m.digest()).toString(16);
return hashcode;
Run Code Online (Sandbox Code Playgroud)
当C#代码生成:"02945C9171FBFEF0296D22B0607D522D"时,java代码生成:"5a700e63fa29a8eae77ebe0443d59239".
有没有办法为同一个bytearray生成相同的md5哈希?
一经请求:
这是java中的testcode:
File file = new File(System.getProperty("user.dir") + "/HashCodeTest.flv");
byte[] bytes = null;
try {
bytes = FileUtils.getBytesFromFile(file);
} catch (IOException e) {
fail();
}
try {
generatedHashCode = HashCode.generate(bytes);
} catch (NoSuchAlgorithmException e) {
fail(); …Run Code Online (Sandbox Code Playgroud) 我们有一个用C#编写的应用程序,它连接到ms sql服务器.我们使用为每个数据库调用创建一个存储过程,但后来我们注意到使用存储过程给我们带来了很大的缺点,如果我们更改数据库,我们不知道需要更新哪些存储过程.
现在我想知道使用存储过程是坏事还是好事?
这是我的问题.我从我的数据库加载xml并使用代码将其推送到客户端.但问题是浏览器会自动打开xml,而不是将其作为下载提供.
有没有办法强制您的浏览器下载该文件而不显示它?
我在C#,Asp.net环境(使用IIS7)工作.
谢谢
可能重复:
在.NET中将HTML转换为PDF
在我们的应用程序中,我们将html文档作为报告和导出.但现在我们的客户想要一个按钮,将该文档保存在他们的电脑上.问题是文档包含图像.您可以使用以下代码创建Word文档:
private void WriteWordDoc(string docName)
{
Response.Buffer = true;
Response.ContentType = "application/msword";
Response.AddHeader("content-disposition", String.Format("attachment;filename={0}.doc", docName.Replace(" ", "_")));
Response.Charset = "utf-8";
}
Run Code Online (Sandbox Code Playgroud)
但问题是图像只是链接,因此没有嵌入word文档中.
因此,我正在寻找替代PDF似乎是一个很好的选择,有没有人知道一个优秀的C#作者?一个有一些很好的参考,并已经过适当的测试?
我有一个有后台的应用程序.使用这样的角色隔离了这个后台:
<location path="backoffice">
<system.web>
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
但现在我们有另一种需要访问的角色.companyadmin的角色.
我可以说吗?:
<location path="backoffice">
<system.web>
<authorization>
<allow roles="admin,companyadmin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud) c# ×9
asp.net ×4
reflection ×2
.net ×1
assemblies ×1
bytearray ×1
case ×1
config ×1
database ×1
download ×1
enums ×1
export ×1
html ×1
java ×1
log4net ×1
md5 ×1
performance ×1
postback ×1
roles ×1
security ×1
sql-server ×1
web-config ×1
xml ×1